ماژول mc60 ماژولی با امکانات فوقالعاده و قیمت بهصرفه بود که از قابلیتهای اون میتونیم به داشتن …,open cpu, gps, gprs, bluetooth اشارهکنیم که چندین قسمت آموزش برای اون توی سایت قراردادیم، حالا توی این قسمت قصد داریم نسخه جایگزین یعنی ماژول MC65 رو معرفی کنیم و نحوه کار باهاش رو یاد بگیریم این نسخه قیمت پایینتری داره و البته یکسری ویژگی هاش با mc60 متفاوت هست که در ادامه به اون اشاره میشه اما ویژگیهای اصلی رو دارا هست و حتی میتونید اون رو روی بردی که برای mc60 طراحی و تولید کردید مونتاژ کنید و پایهها هم مشابه هستند، پس با سیسوگ همراه باشید تا نحوه کار با این ماژول رو یاد بگیریم…
تفاوت های mc60 و mc65
همچنین شما کدهایی که برای mc60 نوشتید رو میتونید بدون تغییر روی mc65 هم اجرا کنید (البته تا جایی که من تست کردم فقط ممکنه یه دوتا تغییر ساده مثل تغییر اسم توابع نیاز باشه).
برنامه نویسی MC65
مرحله اول (نصب کامپایلر)
ابتدا پوشه کامپایلر رو از حالت فشرده خارج میکنیم (فایل رو از بخش دانلود در آخر مطلب میتونید دریافت کنید)، این کامپایلر نیازی به نصب نداره و فقط کافیه که آدرسش رو داشته باشیم.
مرحله دوم (آماده کردن sdk)
بعد از اکسترکت کردن پوشه sdk (فایل رو از بخش دانلود در آخر مطلب میتونید دریافت کنید) لازم هست که در فایل MS-DOS تغییری ایجاد کنیم؛ ابتدا روی اون راست کلیک کرده و وارد properties میشیم ، سپس در قسمت target محل کامپایلر رو بر اساس سیستم خودمون تغییر میدهیم.
مثلا مقدار پیشفرض این هست:
1 |
%SystemRoot%\system32\cmd.exe /K "call C:\CSDTK4.2_Setup\CSDTKvars.bat" |
که لازمه فقط آدرس کامپایلر رو تغییر بدیم، مثلا به:
1 |
%SystemRoot%\system32\cmd.exe /K "call D:\M65\tools\CSDTK4.2_Setup\CSDTKvars.bat" |
حالا فایل custom/main.c رو به صورت زیر تغییر میدیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#ifdef __CUSTOMER_CODE__ #include "ql_system.h" #include "ql_gpio.h" void proc_main_task(s32 taskId) { // Specify a GPIO pin Enum_PinName gpioPin = PINNAME_NETLIGHT; // Initialize the GPIO pin (output high level, pull up) Ql_GPIO_Init(gpioPin, PINDIRECTION_OUT, PINLEVEL_HIGH, PINPULLSEL_PULLUP); while (TRUE) { // Set the GPIO level to low after 500ms. Ql_Sleep(100); Ql_GPIO_SetLevel(gpioPin, PINLEVEL_LOW); // Set the GPIO level to high after 500ms. Ql_Sleep(100); Ql_GPIO_SetLevel(gpioPin, PINLEVEL_HIGH); } } #endif |
مرحله سوم (کامپایل کردن)
حالا فایل MS-DOS
رو باز کرده و توی اون دستور زیر رو میزنیم:
1 |
make clean && make new |
اگر هم برنامه شما ارور داشته باشه میتوانید ارورها رو در فایل build\gcc\build.log
مشاهده کنید.
مرحله چهارم (پروگرام)
برای پروگرام کردن ماژول mc65 لازم هست که از نسخه 4.20 (یا بالاتر) نرمافزار QFlash استفاده کنید (در انتهای مطلب میتونید این نسخه رو دانلود کنید).
بعد از باز کردن نرمافزار فایل APPGS5MDM32A01.lod
رو انتخاب کرده و پورت متصل به ماژول رو هم انتخاب میکنیم.
حالا پینهای مبدل usb به serial رو به پینهای سریال دیباگ ماژول وصل کرده و ماژول رو روشن میگذاریم و دکمه start رو میزنیم، بعد از پروگرام موفقیتآمیز ماژول با پیغام زیر مواجه خواهید شد.
لینک دانلود مستقیم “فایل نصب CSDTK4.2” – حجم 267.19 مگابایت
لینک دانلود مستقیم “داکیومنت ها، فریمور، SDK و …” – حجم 32 مگابایت
لینک دانلود مستقیم “QFlash V4.20” – حجم 87.26 مگابایت
خرید برد و ماژول MC65 از فروشگاه سیسوگ:
سپاس بیکران از سایت بینظیرتان.
در رابطه با ماژول mc65 آیا آنتن gps حتما باید اکتیو باشد ؟
آیا انتن مثلا ماژول L86 اکتیو است؟
خروجی مختصات این ماژول به چه فرمتی است DD یا DMM یا DMS
خواهش میکنم🙂
هم میتونید اکتیو استفاده کنید و هم معمولی ، اگر آنتن اکتیو خواستید استفاده کنید باید یه مدار اضافه هم برای تغذیه آنتن اکتیو استفاده کنید که در reference design توضیح داده شده
ماژول L86 که خودش ماژول هست و آنتن نیست (ماژولی هست که آنتن هم داره)
به صورت “ddmm.mmmm” هست
سلام وقت به خیر
با زدن دکمه start بعد از 30 ثانیه انتظار این پیغام رو میده
FAIL, ERR_2006_S_BROM_CMD_STARTCMD_TIMEOUT
سلام
برای پروگرام از همین نسخه 4.20 که در مطلب قرار داده شده استفاده کنید.
از پورت دیباگ هم برای پروگرام استفاده کنید.
سلام و خدا قوت
یه سوال درباره شماتیکی که برای برد کویکتل قرار دادید دارم. برای تامین تغذیه بخش اصلی ماژول از رگولاتور استفاده نکردید و فقط از دو تا دیود استفاده کردید. سوال هایی که برام پیش اومد اینا هست:
1. چرا از رگولاتور استفاده نمی کنیم و به دیود بسنده می کنیم.
2. چرا از SS34 استفاده کردیم و چجوری بعد از افت ولتاژ روی دو تا دیود هنوز ولتاژ 4.3 ولت هست. یعنی انگار که 0.7 توسط دیود اول کم شده و دیود SS34 ولتاژی کم نمی کنه.
3. برای این ماژول معمولا ولتاژ 4 ولت در نظر میگیرن. البته میدونم بیشتر هم میشه گذاشت. میخواستم بدونم دلیل خاصی داشته که 4.3 ولت گذاشتید یا خیر.
سلام و درود دوست عزیز
۱. قطعا رگولاتور بهتر ولی خوب برای کاهش هزینه خیلی ها میآن از دیود استفاده میکنند به خیلی هم منطقی نیست
۲. توی جریان کشی اون افت بهتر مشخص میشه و در حالت بی باری که اصلا معلوم نمیشه تو جریان های بالاتر از یه حدی ۱ ولت افت خواهیم داشت.
۳. اگر این دو مدل دیودی که گفتید باشه روی برق ورودی، در حالت جریان کشی ولتاژ به ۴ میرسه