نويسنده موضوع: مقدمه ای بر میکروکنترلر های stm32  (دفعات بازديد: 5794 بار)

vakitaki و 1 مهمان درحال ديدن موضوع.

آفلاين aod

  • کاربر ساده سطح اول
  • *
  • تشکر
  • -اهدايي: 41
  • -دريافتي: 162
  • ارسال: 90
    • لیسانس مخابرات
میکروکنترلر های stm32 از سری میکروکنترلر هایی هستند که معماری شان مبتنی بر هسته cortex-m3 می باشد . طیف گسترده ای از این خانواده وجود دارد که بنابر کاربرد آن ، تعداد پایه ، میزان حافظه flash ، پشتیبانی کردن از یک سری peripheral ، قابلیت کار در قالب DSP و بسیاری ویژگی دیگر ، انواع متفاوتی از آن ارائه می شود .
با توجه به معماری RISC و CISC که اولی پیچیدگی را روی compiler قرار داده و طراحی پردازنده را ساده تر کرده و دومی که پیچیدگی را روی پردازنده قرار داده و طراحی compiler را ساده تر کرده است و نیز معماری van neumann و harvard که اولی مدلی ساده از روابط بین اجزا یک سیستم میکروکنترلری را ارائه داده و دومی مدلی پیچیده تر با سرعتی به مراتب بالاتر و الگوریتم های ضرب سریعتر دارد ، هسته cortex-m3 در یک مدل بهینه شده برای انجام عملیاتش ارائه شده و از دو مدل arm code  و thumb code نیز برای استفاده در برنامه ها به منظور چگالی های متفاوت برای یک کد بهره می گیرد . در حقیقت هسته cortex-m3 برآیندی از 4 معماری ارائه شده می باشد و با توجه به معماری RISC و harvard ، از این دو بیشتر متاثر است.
مدیریت وقفه ها (interrupts)و استثنا ها (exceptions) در قالب بخش NVIC انجام می گیرد .
از لحاظ میزان اطلاعات موجود در سطح web و کتاب ها می توان گفت که فوق العاده قوی ظاهر شده است و خود سایت ST به تنهایی شامل اطلاعات بسیاری مفیدی در قالب app note ها و برد های آموزشی اش می باشد .
از این خانواده می توان به stm32f10x و stm32f20x و stm32f40x اشاره کرد.
 

آفلاين aod

  • کاربر ساده سطح اول
  • *
  • تشکر
  • -اهدايي: 41
  • -دريافتي: 162
  • ارسال: 90
    • لیسانس مخابرات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #1 : 29 مهر 1391 - 15:25:07 »
Cortex دارای 3 پروفایل A (کاربرد های application مانند گوشی های موبایل) و پروفایل R (کاربرد های  Real-time مثل سیستم عامل های زمان واقعی که در KEIL نمونه ای از آن موجود است) و پروفایل M (کاربرد های میکروکنترلری کم مصرف) می باشد .عدد 3 که در cortex-m3 است نشان دهنده این است که در این هسته ، 3 تا خط اجرا یا performance line موجود است .
برای اطلاعات بیشتر می توانید به Technical Reference Manual Cortex™-M3 مراجعه کنید .
تراشه STM32F103RBT6 از جمله میکروکنترلر های خانواده stm32 می باشد که خلاصه ای از وِیژگی های آن به شرح زیر است :
میکروکنترلر 32 بیتی با 64 یا 128 کیلو بایت حجم حافظه FLASH و 20 کیلو بایت حافظه SRAM
قابلیت ارتباط با Device های بیرونی به صورت CAN و USB و نیز دارای 2 کانال SPI و 2 کانال I2C و دو کانال ADC با دقت 12 بیتی و نیز 3 USART و 2 UART و 7 تایمر 
دارای PLL داخلی برای داشتن کلاک های مختلف در periheral ها و قابلیت افزایش کلاک تا 72 مگا هرتز
7 کانال کنترلر DMA
80 پایه که می توانند به صورت IO تعریف شوند
و ...

آفلاين aod

  • کاربر ساده سطح اول
  • *
  • تشکر
  • -اهدايي: 41
  • -دريافتي: 162
  • ارسال: 90
    • لیسانس مخابرات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #2 : 29 مهر 1391 - 17:56:07 »
برای کار با stm32f10x ها می توان از منابع زیر کمک گرفت :
RM0008 از شرکت ST که 101 ، 102 ، 103 ، 104 ، 105 و 107 را پوشش می دهد.
PM0056 از شرکت ST که یک راهنمای برنامه نویسی برای 10x ها می باشد.
The Insider's guide to the stm32 ARM Based microcontrollers از شرکت Hitex که سازنده برد های آموزشی و نرم افزار Hitop برای برنامه نویسی میکروکنترلر های ARM  است می باشد.
Cortex™-M3 Technical Reference Manual  از شرکت ARM که توضیح مفصلی راجع به هسته CORTEX-M3 دارد .
کتاب ARM Systems Developers Guide که توسط SLOSS و SYMES و WRIGHT نوشته شده و کتاب کاملی برای مبانی ARM می باشد .
کتاب  The definitive guide to the ARM Cortex-m3 که توسط جوزف یو نوشته شده و توضیح کاملی راجع به هسته CORTEX-M3 دارد .
وب سایت شرکت ST که apllication note ها و برد های آموزشی اش فوق العاده به یادگیری ARM کمک می کنند و نیز دارای یک انجمن است که بسیار در راه یادگیری STM32 کمک می کند .
وب سایت شرکت OLIMEX که سازنده برد های آموزشی است و PDF ها و شماتیک مداراتش را در اختیار بازدید کنندگان سایت قرار می دهد.
همچنین نرم افزار های KEIL و IAR و ... که اطلاعات بسیار سودمندی در این زمینه دارند.

آفلاين agape

  • کاربر تازه وارد سطح پنجم
  • *
  • تشکر
  • -اهدايي: 4
  • -دريافتي: 36
  • ارسال: 43
    • وب سایت شخصی
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #3 : 30 مهر 1391 - 09:13:34 »
سلام به همه دوستان !
حالا که نقل نقل ST هست - فکر کردم که در این باب منم تجربیات دو سه روزه ای  :lol: که درمورد این میکرو کسب کردم رو به اشتراک بذارم ! همونطور که همه دوستان میدونید شرکت ST فقط لایسنس آرم های مبتنی بر خانواده کورتکس رو داره و میکروهایی که تولید میکنه همه مبتنی بر این خانواده هست که انصافا خانواده خوبی هست :yes:
یکی از مشکلاتی اساسی که هر کاربری موقع آشنایی با این میکرو ها باهاش روبرو میشه - سیستم ناخوشایند شماره گذاری چیپ های تولیدی هست :confused: که البته خود منم هنوز بعد از چند روز با این سبک نامگذاری مشکل دارم :angry: ولی اون دارم برای مثال میکروی STM32F103RET6 اگر بخوایم به تفصیل به بررسی این اسم بپردازیم به این صورت عمل میکنیم
STM : اختصار شروع کننده نام شرکت
ّ32 : به معنی پردازنده 32 بیت می باشد و این عدد 8 نیز میتواند باشد به معنی میکرو های 8 بیت ولی هنوز میکروی 16 بیتی نداره این شرکت :mrgreen:
F :  کلاس کاری رو معرفی می کنه مثلا این مقدار یا همون F1 به معنی mainstream هست و مقدار L  برای خانواده Low Power و W برای Wireless به کار میره از دیگر نام ها میتوان به F0,F2,F3,F4 اشاره کرد که تو سایتش دربارشون توضیح داده
103 : این عدد می توان گفت نمایش دهنده میزان قابلیت و کارایی است مثلا مقدار 103 برای خانواده F به معنی فرکانس کاری 72 مگاهرتز و ساپورت USB,CAN,Motor Control و تا 1 مگابایت حافظه  رو شامل مبشه
RET6 : میزان فلش و پایه ها و امکانات عمومی مثل تعداد تایمر و ... رو شامل میشه که میتونید دقیقش رو تو خود سایت ST به دست بیارید !

آفلاين aod

  • کاربر ساده سطح اول
  • *
  • تشکر
  • -اهدايي: 41
  • -دريافتي: 162
  • ارسال: 90
    • لیسانس مخابرات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #4 : 30 مهر 1391 - 09:30:34 »
برای برنامه نویسی میکروکنترلر های ARM می توان از IDE های ارائه شده استفاده کرد :
KEIL :
 این IDE  برای برنامه نویسی 8051 هم استفاده می شود و در زمینه ARM نیز حاوی کتابخانه های سودمندی می باشد. از طرف شرکت ARM ارائه می شود و همراه برد های آموزشی مثل MCBSTM32 و ... در CD همراه آن قرار دارد .خیلی از برد های آموزشی که از طرف شرکت های مختلف ارائه می شوند توسط این نرم افزار و در پوشه KEIL/ARM/BOARDS قرار داده شده است .صنعت ساخت برد های آموزشی ، به کمک دانشجویان و اساتید آمده است و در سایت ها و انجمن های مختلف برای توضیح خیلی از مطالب از آنها استفاده می کنند .
کافی است یک دید مختصری راجع به هسته CORTEX-M3 داشته باشیم تا در TAB های مختلف KEIL نگاهی بیندازیم و تنظیمات مختلف تراشه را در آن ببینیم .از این دست تنظیمات می توان به Little Endian یا Big Endian و ARM Code یا Thumb Code و سطح بهینه سازی (optimization) کد و ... اشاره کرد .
یک روندی برای ساخت پروژه با KEIL موجود است که در آن نام تراشه مورد استفاده از شما پرسیده می شود و فایل assembly متناسب با آن تراشه برایتان تولید می شود. این روند را می توانید در بسیاری از سایت ها ببینید .
IAR :
این نرم افزار از یک شرکت انگلیسی به همین نام ارائه می شود و کافی است به خود نرم افزار مراجعه و از Help آن ببینید که چقدر در زمینه مستندات قوی کار کرده اند .در وب سایت IAR نیز مستندات بسیاری توسط متخصصان آن ارائه شده است . از IAR در زمینه برنامه نویسی AVR نیز استفاده می کنند .
IAR در زمینه مدیریت ویژگی های هسته میکروکنترلر ، فوق العاده قوی ظاهر شده است  .
کد هایی که در وب سایت های مختلف ارائه می شوند عموما از استاندارد هایی مانند MISRA C و یا CMSIS تبعیت می کنند . این استاندارد ها برای برنامه نویسان کمکی در راستای فهم بهتر برنامه ها می باشند و ویژگی چند لایه نوشتن کد ها و تاکید بر چند بیتی بودن متغیر ها و اشاره گر بودن یا نبودن آنها و ... در این استاندارد ها به وضوح دیده می شود .

آفلاين aod

  • کاربر ساده سطح اول
  • *
  • تشکر
  • -اهدايي: 41
  • -دريافتي: 162
  • ارسال: 90
    • لیسانس مخابرات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #5 : 30 مهر 1391 - 17:48:04 »
برای برنامه ریزی یا DEBUG میکروکنترلر های STM32 می توان از Debugger های زیر استفاده کرد :
JLINK :این Debugger ساخت شرکت SEGGER می باشد و دارای یک نرم افزار واسط برای کار می باشد که می توان به طور مستقیم فایل HEX یا BIN ساخته شده توسط IDE های مختلف را توسط آن به میکرو منتقل کرد . همچنین KEIL و IAR به طور مستقیم می توانند از این Debugger استفاده کنند و برنامه های خودشان را در میکرو بارگذاری کنند .این Debugger که از استاندارد JTAG استفاده می کند هم به طور Original در فروشگاه های الکترونیک موجود است و هم به صورت ساخته شده توسط شرکت های دیگر که از روی نقشه این Debugger آن را ساخته اند . مدار داخلی این Debugger (آن که من دارم و Original نیست) دارای یک هسته AT91SAM است .
ULINK : این Debugger ساخت شرکت KEIL است و از استاندارد JTAG پیروی می کند .
Serial Bootloader : میکروکنترلر های STM32 را می توان از طریق ارتباط سریال و با برنامه ST FLASH LOADER مستقیما و بدون نیاز به سخت افزار خارجی (فقط یک ارتباط سریال در سطح RS232 برای اتصال به کامپیوتر) برنامه ریزی کرد .
فرق Debugger و Bootloader را یکی از انجمن ها این طور گفته بود :
"Debugger برای برنامه ریزی کردن کل سیستم است ولی Bootloader فقط بخشی از آن را برنامه ریزی می کند ."
روش های Boot مختلفی از جمله SERIAL و USB  و ethernet و ... موجود است .

آفلاين aod

  • کاربر ساده سطح اول
  • *
  • تشکر
  • -اهدايي: 41
  • -دريافتي: 162
  • ارسال: 90
    • لیسانس مخابرات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #6 : 1 آبان 1391 - 10:21:07 »
در زمینه آموزش میکروکنترلر های STM32 از انجمن ها و سایت های زیر می توان کمک گرفت :
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود سایت شرکت ST که دارای اطلاعات بسیار زیاد و عالی در زمینه STM32 می باشد .
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود    انجمن فوق العاده عالی شرکت STMICROELECTRONICS
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود   سایت شرکت  ARMکه ارائه دهنده معماری های ARM به شرکت های سازنده می باشد
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود   سایت شرکت IAR  که دارای مستندات فوق العاده ای در زمینه برنامه نویسی میکروکنترلر ها دارد
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود   انجمن قوی  میکروکنترلر و الکترونیک
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود   انجمن STM32  که پروژه های آماده زیادی دارد
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود   انجمن میکروکنترلر و الکترونیک
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود   سایت شرکت KEIL که یک انجمن قوی هم دارد
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود   انجمن میکروکنترلری ایرانی
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود   سایت شرکت SEGGER سازنده DEBUGGER های   JLINKکه دارای انجمن نیز می باشد
  کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورودوبلاگ ایرانی در زمینه   ARM
   کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورودسایت در زمینه ARM و بوت لودر
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود   انجمن راجع به STM32 که پروژه های آماده بسیاری دارد
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود انجمن میکروکنترلر ایرانی
کاربران مهمان مجاز به مشاهده لینک ها نیستند. لطفا ثبت نام نمایید. ثبت نام -- ورود   سایت شرکت OLIMEX که ارائه دهنده برد های آموزشی به همراه شماتیک ها و مستندات همراه آن می باشد .

آفلاين aod

  • کاربر ساده سطح اول
  • *
  • تشکر
  • -اهدايي: 41
  • -دريافتي: 162
  • ارسال: 90
    • لیسانس مخابرات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #7 : 1 آبان 1391 - 12:42:59 »
در زمینه پروژه هایی که با STM32 می توان انجام داد می توان به موارد زیر اشاره کرد :
چشمک زدن LED که Blinky نیز نامیده می شود.
راه اندازی یک تایمر برای انجام یک عملیات در زمان سرریز تایمر
راه اندازی ارتباط سریال (هم به روش polling  و هم به روش USART Irq)
راه اندازی USB با کاربرد های مختلفش (mass storage - virtual com port - joystick mouse - audio speaker و ...)
راه اندازی RTC داخلی STM32
راه اندازی ADC برای اندازه گیری دما توسط ADC های قدرتمند STM32
راه اندازی وقفه های خارجی و وقفه WatchDog و ... برای انواع پروژه های مختلف
راه اندازی ارتباط CAN برای اتصال ادوات صنعتی به صورت یک شبکه به همدیگر
راه اندازی ارتباط ethernet
راه اندازی کاربرد های DSP میکروکنترلر STM32
راه اندازی ارتباط های I2C و SPI برای اتصال آی سی های دیگر به میکروکنترلر STM32
راه اندازی DAC و I2S برای کاربرد های پردازش سیگنال های صوتی و ...

آفلاين aod

  • کاربر ساده سطح اول
  • *
  • تشکر
  • -اهدايي: 41
  • -دريافتي: 162
  • ارسال: 90
    • لیسانس مخابرات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #8 : 1 آبان 1391 - 13:36:47 »
در زمینه ویژگی های سخت افزاری آی سی های STM32 می توان به موارد زیر اشاره کرد :
آی سی هایی در بسته های VFQFPN و LQFP و BGA و در قالب 32 ، 48 ، 64 ، 100 و  144 پایه
سازگار با ولتاژ های بین حداقل 0.3- تا حداکثر 4 ولت
دارای قابلیت 5v tolerant برای سیگنال هایی که در قالب 5 ولت هستند برای PIN های تعریف شده اش
قابلیت کار در دما های بین 65- تا 150+ در مود storage
دارای 3 منبع کلاک برای کاربرد های مختلف (HSI و LSE و HSE)
دارای PLL داخلی با ضرایب قابل تنظیم برای ایجاد کلاک برای قسمت های مختلف میکرو
دارای خاصیت REMAP برای انتقال یک خاصیت یک پایه مثل USART1_tx به پایه ای دیگر
برنامه پذیری و DEBUG از طریق استاندارد JTAG
دارای پورت های A،B،C،D،E،F،G و اختصاص 16 پایه به هرکدام که سرعت و مود استفاده از آن قابل تنظیم است .
دارای حافظه Embedded Flash برای استفاده به جای EEPROM
دارای BUS های پر سرعت AHB و کم سرعت APB برای کاربرد های مشخص
قابلیت اتصال باتری بین 1.8 تا 3.6 ولت

آفلاين Mohsen P

  • کاربر ساده سطح چهارم
  • *
  • تشکر
  • -اهدايي: 19
  • -دريافتي: 38
  • ارسال: 239
    • بی سوات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #9 : 2 آبان 1391 - 09:40:55 »
هنگام کار کاردن با کامپایلر keil به این نکته توجه کنید که بعضی از سری ها به طور کامل در سیمولیتور ساپورت  نمیشن مثلا 103RE اما میشه در این محیط تمام رجستر ها رو دید.اما در 103RB علاوه بر رجسترها میشه محیط های خاصی که برای پریفرال ها طراحی شده رو دید که می تونه خیلی به روند اموزش کمک کنه.
می بینیم و نادیده می گیریم!

آفلاين Mohsen P

  • کاربر ساده سطح چهارم
  • *
  • تشکر
  • -اهدايي: 19
  • -دريافتي: 38
  • ارسال: 239
    • بی سوات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #10 : 2 آبان 1391 - 09:49:08 »
برای برنامه ریزی یا DEBUG میکروکنترلر های STM32 می توان از Debugger های زیر استفاده کرد :
JLINK :این Debugger ساخت شرکت SEGGER می باشد و دارای یک نرم افزار واسط برای کار می باشد که می توان به طور مستقیم فایل HEX یا BIN ساخته شده توسط IDE های مختلف را توسط آن به میکرو منتقل کرد . همچنین KEIL و IAR به طور مستقیم می توانند از این Debugger استفاده کنند و برنامه های خودشان را در میکرو بارگذاری کنند .این Debugger که از استاندارد JTAG استفاده می کند هم به طور Original در فروشگاه های الکترونیک موجود است و هم به صورت ساخته شده توسط شرکت های دیگر که از روی نقشه این Debugger آن را ساخته اند . مدار داخلی این Debugger (آن که من دارم و Original نیست) دارای یک هسته AT91SAM است .
ULINK : این Debugger ساخت شرکت KEIL است و از استاندارد JTAG پیروی می کند .
Serial Bootloader : میکروکنترلر های STM32 را می توان از طریق ارتباط سریال و با برنامه ST FLASH LOADER مستقیما و بدون نیاز به سخت افزار خارجی (فقط یک ارتباط سریال در سطح RS232 برای اتصال به کامپیوتر) برنامه ریزی کرد .
فرق Debugger و Bootloader را یکی از انجمن ها این طور گفته بود :
"Debugger برای برنامه ریزی کردن کل سیستم است ولی Bootloader فقط بخشی از آن را برنامه ریزی می کند ."
روش های Boot مختلفی از جمله SERIAL و USB  و ethernet و ... موجود است .

موردی که فراموش شده ST-Link از محصولات STMicroelectronic  هست.
« آخرين ويرايش: 2 آبان 1391 - 10:03:51 توسط Mohsen P »
می بینیم و نادیده می گیریم!

آفلاين aod

  • کاربر ساده سطح اول
  • *
  • تشکر
  • -اهدايي: 41
  • -دريافتي: 162
  • ارسال: 90
    • لیسانس مخابرات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #11 : 2 آبان 1391 - 10:30:58 »
دور نمایی از STM32F103RBT6
هسته CORTEX-M3 :
این هسته به منظور توسعه یک میکروکنترلر ارزان قیمت ایجاد شده است و کاربرد های توان پایین و کاهش تعداد پایه ها و سیستم  پاسخ دهی پیشرفته به وقفه ها و انجام عملیات محاسباتی با دقت بالا در آن یک ویژگی حساب می شود .
حافظه FLASH توکار :
دارای 64 یا 128 کیلوبایت حافظه FLASH توکار برای ذخیره برنامه ها و داده ها می باشد .
واحد محاسبه CRC :
این واحد برای گرفتن یک کد CRC از یک داده 32 بیتی یا یک مولد چند جمله ای ثابت طراحی شده است .
SRAM توکار :
20 کیلو بایت حافظه SRAM توکار
کنترل تودرتو برداری وقفه ها:
قابلیت کنترل تودرتو برداری وقفه ها برای 43 وقفه به غیر از 16 وقفه هسته CORTEX-M3 و دارای تنظیم تا 16 سطح.
کنترل وقفه یا رویداد خارجی :
دارای 16 خط وقفه خارجی
کلاک و Startup :
پیکربندی کلاک سیستم در هنگام startup انجام می شود اگرچه کلاک داخلی به عنوان پیش فرض در زمان RESET اجرا می شود .
مود های BOOT :
دارای سه مسیر برای boot شدن سیستم : USER FLASH  و SYSTEM MEMORY و EMBEDDED SRAM
منبع تغذیه :
VDD بین 2 تا 3.6 ولت برای راه اندازی ADC و بلوک های RESET و RC ها و PLL  و دارای VBAT بین 1.8 تا 3.6 ولت برای راه اندازی RTC و کلاک خارجی 32 کیلو هرتز و رجیستر های پشتیبان در زمانی که VDD نداریم .
مدیریت منبع تغذیه :
دارای سیستم POR و PDR داخلی که بدون نیاز به هیچ گونه سخت افزار خارجی وقتی ولتاژ از آستانه های بالا و پایینش خارج شد ، به صورت خودکار سیستم را RESET می کند .همچنین دارای سیستم تشخیص ولتاژ است که توسط نرم افزار برای ایجاد یک وقفه می تواند برنامه ریزی شود .
تنظیم کننده ولتاژ :
دارای 3 مود می باشد ، MR (مود MAIN) و LPR (مود STOP) و مود POWER DOWN (مود Standby)
مود های کم مصرف : SLEEP و STOP و STANDBY
DMA : دارای 7 کانال DMA که مدیریت انتقال های Memory to Memory و Peripheral to Memory  و Memory to Peripheral  را بر عهده دارد .
RTC و رجیستر های پشتیبان :
RTC داخلی برای ایجاد ثانیه و دقیقه و ساعت و ایجاد یک تقویم از طریق نرم افزاری و رجیستر های پشتیبان که 10 رجیستر 16 بیتی هستند و می توانند 20 بایت داده را در خود ذخیره کنند که با رفتن برق هم از بین نمی روند .
تایمر و WatchDog :
یک تایمر پیشرفته و سه تایمر general purpose و دو تایمر watchDog  و یک تایمر SysTick
I2C :
دارای 2 گذرگاه I2C برای کار در مود های multimaster و slave و نیز پشیبانی از مود های استاندارد و سریع .
USART :
دارای 2  USART که یکی تا 4.5 مگابیت بر ثانیه و دیگری تا 2.25 مگا بیت بر ثانیه که هر دو می توانند با کنترلر DMA کار کنند .
SPI :
دارای 2 کانال SPI که قابلیت 18 مگا بیت بر ثانیه را در مود SLAVE و MASTER و نیز در مود های ارتباطی تمام دوطرفه و یک طرفه کار می کنند . هر دو SPI می توانند با DMA نیز به کار روند .
CAN :
کار با ویژگی های 2.0A و 2.0B و با بیت ریتی تا 1 مگا بیت بر ثانیه
USB :
USB پر سرعت 12 مگا بیت بر ثانیه و کار در فرکانس کلاک 48 مگا هرتز
GPIO :
هر کدام از پایه های GPIO می توانند به صورت ورودی یا خروجی یا Alternate function تعریف شوند.
ADC :
2 مبدل آنالوگ به دیجیتال 12 بیتی که هرکدام 16 کانال خروجی دارند .تبدیل را می توانند در 2 مود single shot یا scan انجام دهند .
سنسور دمایی :
یک سنسور دمایی در STM32F103RBT6 قرار داده شده است که به پایه ADC12_IN16 متصل است .
پورت DEBUG سریال و JTAG :
این قابلیت در تراشه گذاشته شده است تا هم به صورت serial wire و هم به صورت JTAG قابلیت برنامه ریزی آن موجود باشد .
 

آفلاين Mohsen P

  • کاربر ساده سطح چهارم
  • *
  • تشکر
  • -اهدايي: 19
  • -دريافتي: 38
  • ارسال: 239
    • بی سوات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #12 : 2 آبان 1391 - 11:35:34 »
هنگام استفاده از سری های 10x و سری های دیگه باید به تنظیمات اونها در keil توجه کنید(به میزان حافظه).مثلا در سری 10x  داریم:
Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx
microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes.
Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx
microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes.
High-density devices are STM32F101xx and STM32F103xx microcontrollers where the
Flash memory density ranges between 256 and 512 Kbytes.
Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers
که 103RB از نوع Medium-density devices هستش.
می بینیم و نادیده می گیریم!

آفلاين aod

  • کاربر ساده سطح اول
  • *
  • تشکر
  • -اهدايي: 41
  • -دريافتي: 162
  • ارسال: 90
    • لیسانس مخابرات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #13 : 2 آبان 1391 - 15:57:28 »
برد های آموزشی مبتنی بر STM32F103
MCBSTM32 : این برد ساخته شرکت KEIL است و برنامه های آموزشی آن در پوشه BOARDS در محل نصب KEIL آمده است .برنامه های داخل این پوشه هم در محیط Simulator اجرا می شوند و خروجیشان را می توان بررسی کرد و هم در روی برد آموزشی .

MCBSTM32C :این برد هم از خانواده MCBSTM32 است ولی امکانات روی برد آن بیشتر است و حرفه ای تر می باشد برنامه های آموزشی آن نیز در پوشه BOARDS در محل نصب KEIL آمده است .

MCBSTM32E : این برد نیز ازخانواده MCBSTM32 است و از دو برد قبلی حرفه ای تر است .برنامه های آموزشی آن نیز در پوشه BOARDS در محل نصب KEIL آمده است .

STM32H103 : این برد ساخت شرکت OLIMEX است و برنامه های آن نیز در سایت OLIMEX موجود است . از نظر سخت افزاری ، به نظر من ساده ترین برد بین برد های موجود است و می توانید از شماتیک آن استفاده کنید .

STM32P103 : این برد هم از شرکت OLIMEX است و نوع حرفه ای تری از H103 است .رنامه های آن نیز در سایت OLIMEX موجود است.

stm32f10b : این برد ساخت شرکت ST است و برنامه های آموزشی آن در پوشه BOARDS موجود است .خیلی از کتابخانه های موجود در سایت ST این برد و هم خانواده هایش را پیشنهاد می کنند .

در آخر برد های آموزشی که متخصصان ایرانی تهیه کرده اند و در سایت های ECA و کویر الکترونیک و FM-IS و ... هستند را باید نام برد که خیلی خوب و با قیمت مناسب هستند .

آفلاين aod

  • کاربر ساده سطح اول
  • *
  • تشکر
  • -اهدايي: 41
  • -دريافتي: 162
  • ارسال: 90
    • لیسانس مخابرات
پاسخ : مقدمه ای بر میکروکنترلر های stm32
« پاسخ #14 : 3 آبان 1391 - 17:10:53 »
مصرف توان در STM32F103RBT6
در این زمینه 2 نمودار را از برگه اطلاعاتی این تراشه استخراج نموده ام که مصرف جریان در این تراشه را در مود RUN (یعنی STOP و STANDBY نیست) نشان می دهد که این مصرف توان را در فرکانس های مختلف مورد بررسی قرار می دهد . تصویر اول برای زمانی است که peripheral ها استفاده می شوند و تصویر دوم برای زمانی است که peripheral ها استفاده نمی شوند :
تصویر اول :

تصویر دوم :

با بالا رفتن فرکانس مصرف توان افزایش می بابد.
در زمانی که peripheral ها نیستند مصرف توان در فرکانس 72 مگاهرتز 15 میلی آمپر کاهش می یابد اما در فرکانس 8 مگاهرتز این تغییر بسیار کمتر است (نزدیک 1 میلی آمپر). در فرکانس 16 مگا هرتز نزدیک به 4 میلی آمپر و در 36 مگا هرتز در حد 7 میلی آمپر .