آموزش میکروکنترلر STM32F4 قسمت چهارم :  ساختار باس

آموزش میکروکنترلر STM32F4 قسمت چهارم : ساختار باس

آموزش میکروکنترلر STM32F4 قسمت چهارم :  ساختار باس
آموزش میکروکنترلر STM32F4 قسمت چهارم :  ساختار باس

آموزش میکروکنترلر STM32F4 – قسمت چهارم ;

در قسمت سوم آموزش میکروکنترلر STM32F4 به تابع‌های weak و روند ایجاد یک پروژه پرداختیم. در این قسمت از آموزش میکروکنترلر STM32F4 به ساختار باس می‌پردازیم. با سیسوگ همراه باشید.

 

ساختار باس

ساختار داخلی میکروکنترلر STM32F4 به شکل زیر است. هسته کورتکس میکروکنترلر با باس‌های پرسرعت AHB1 و AHB2 به وسایل جانبی و حافظه‌ها، اترنت، USB، رابط LCD، دوربین و … وصل است. سایر وسایل جانبی نیز از طریق باس‌های کم سرعت‌تر APB در دسترس هستند. DMA های میکروکنترلر نیز از طریق همین باس‌ها به حافظه و وسایل جانبی دسترسی دارند.

 

حافظه و ساختار باس

 

 

ساختار نگاشت حافظه این میکروکنترلر در شکل زیر دیده می‌شود.

 

نگاشت حافظه میکروکنترلر STM32F429

 

 

در این میکروکنترلر، سیستم اصلی دارای یک ماتریس باس AHB چندلایه 32-بیتی است که این‌ها را به هم متصل می‌کند:

  • ده مستر که در شکل زیر با چارگوش‌های آبی مشخص شده‌اند:
    • باس I، باس D و باس S خود کورتکس M4 و هسته FPU
    • باس حافظه DMA1
    • باس حافظه DMA2
    • باس وسیله جانبی DMA2
    • باس DMA اترنت
    • باس DMA درگاه پرسرعت  OTG USB
    • باس DMA کنترلگر LCD
    • باس حافظه DMA2D (شتاب دهنده کروم-آرت ( Chrom-Art) یک شتاب دهنده گرافیکی است برای نمایشگر LCD که به سیستم متصل می‌شود.)

 

  • هشت Slave که با چارگوش‌های نارنجی مشخص شده‌اند:
    • باس کد I حافظه فلش داخلی
    • باس کد d حافظه فلش داخلی
    • SRAM1 داخلی اصلی (112 کیلوبایت)
    • SRAM2 داخلی کمکی (16 کیلوبایت)
    • SRAM3 داخلی کمکی (64 کیلوبایت)
    • وسیله AHB1 شامل پل‌های AHB به APB و وسیله‌های جانبی APB
    • وسایل جانبی AHB2
    • کنترلگر حافظه انعطاف پذیر (FMC)

ماتریس باس، دسترسی از یک مستر به Slave را فراهم می‌کند و تضمین می‌کند که دسترسی همزمان ممکن باشد و عملیات با بازده بالا حتی وقتی چند وسیله جانبی پرسرعت با هم کار می‌کنند انجام شود. رم داده 64 کیلوبایتی جفت شده با پردازنده، جزیی از باس نیست و باید مستقیماً از طریق پردازنده با آن کار کرد. ساختار گفته شده را در زیر می‌بینید:

 

معماری سیستم میکروکنترلر STM32F429

 

باس I

این باس، باس دستور پردازنده را به ماتریس باس متصل می‌کند. این باس توسط هسته برای واکشی دستور به کار می‌رود. هدف این باس حافظه ی شامل کد است که ممکن است حافظه فلش/SRAM داخلی یا حافظه های خارجی از طریق FMC باشد.

 

باس D

این باس، باس داده هسته را به رم داده 64 کیلوبایتی جفت شده با هسته و ماتریس باس متصل می‌کند. این باس توسط هسته برای بارگزاری واقعی و دسترسی دیباگ استفاده می‌شود. هدف این باس حافظه‌های حاوی کد و داده است. (حافظه فلش داخلی یا حافظه‌های خارجی از طریق FMC)

 

باس S

این باس، باس سیستم پردازنده را به ماتریس باس متصل می‌کند. این باس برای دسترسی به داده قرار گرفته در وسیله‌های جانبی یا SRAM استفاده می‌شود. دستورها را نیز می‌توان از طریق این باس واکشی کرد که بازده کمتری از باس I دارد. هدف این باس SRAM1/2/3 داخلی و وسیله‌های جانبی AHB1 شامل وسیله‌های جانبی APB، وسیله‌های جانبی AHB2 و حافظه‌های خارجی از طریق FMC می‌باشد.

 

پل‌های (AHB/APB (APB

دو پل AHB/APB، به نام APB1 و APB2 امکان اتصال هم زمان بین AHB و دو باس APB را با امکان انتخاب فرکانس وسیله جانبی فراهم می‌کنند. ماکزیمم فرکانس این دو باس در برگه اطلاعات درج شده است. باید دقت کرد که هر وسیله جانبی روی کدامیک از این باس‌ها قرار دارد. این‌ها در جدولی در مرجع میکروکنترلر قرار دارد.

 

پل های AHB و APB

پل هایی که باس های AHB و APB را به هم وصل می‌کند در مرکز دیده می‌شود.

 

بعد از بازنشانی، کلاک‌های وسایل جانبی غیرفعال می‌شود (به جز SRAM و رابط حافظه فلش). قبل از استفاده از هر وسیله جانبی باید کلاک‌ آن را در رجیستر  RCC_AHBxENR یا RCC_APBxENR فعال کنید.

وقتی دسترسی 8 یا 16 بیتی روی APB درخواست می‌شود، به دسترسی 32 تبدیل می‌شود. (پل، داده را تکرار می‌کند تا برداری 32 بیتی درست شود)

 

در قسمت چهارم آموزش میکروکنترلر STM32F4 به حافظه خواهیم پرداخت. با سیسوگ همراه باشید.

 

 

 

حمایت از ه. مرادمند

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

دیدگاه ها

0 دیدگاه

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 11 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک