آموزش میکروکنترلر STM32F4 – قسمت چهارم ;
در قسمت سوم آموزش میکروکنترلر STM32F4 به تابعهای weak و روند ایجاد یک پروژه پرداختیم. در این قسمت از آموزش میکروکنترلر STM32F4 به ساختار باس میپردازیم. با سیسوگ همراه باشید.
ساختار داخلی میکروکنترلر STM32F4 به شکل زیر است. هسته کورتکس میکروکنترلر با باسهای پرسرعت AHB1 و AHB2 به وسایل جانبی و حافظهها، اترنت، USB، رابط LCD، دوربین و … وصل است. سایر وسایل جانبی نیز از طریق باسهای کم سرعتتر APB در دسترس هستند. DMA های میکروکنترلر نیز از طریق همین باسها به حافظه و وسایل جانبی دسترسی دارند.
ساختار نگاشت حافظه این میکروکنترلر در شکل زیر دیده میشود.
در این میکروکنترلر، سیستم اصلی دارای یک ماتریس باس AHB چندلایه 32-بیتی است که اینها را به هم متصل میکند:
ماتریس باس، دسترسی از یک مستر به Slave را فراهم میکند و تضمین میکند که دسترسی همزمان ممکن باشد و عملیات با بازده بالا حتی وقتی چند وسیله جانبی پرسرعت با هم کار میکنند انجام شود. رم داده 64 کیلوبایتی جفت شده با پردازنده، جزیی از باس نیست و باید مستقیماً از طریق پردازنده با آن کار کرد. ساختار گفته شده را در زیر میبینید:
این باس، باس دستور پردازنده را به ماتریس باس متصل میکند. این باس توسط هسته برای واکشی دستور به کار میرود. هدف این باس حافظه ی شامل کد است که ممکن است حافظه فلش/SRAM داخلی یا حافظه های خارجی از طریق FMC باشد.
این باس، باس داده هسته را به رم داده 64 کیلوبایتی جفت شده با هسته و ماتریس باس متصل میکند. این باس توسط هسته برای بارگزاری واقعی و دسترسی دیباگ استفاده میشود. هدف این باس حافظههای حاوی کد و داده است. (حافظه فلش داخلی یا حافظههای خارجی از طریق FMC)
این باس، باس سیستم پردازنده را به ماتریس باس متصل میکند. این باس برای دسترسی به داده قرار گرفته در وسیلههای جانبی یا SRAM استفاده میشود. دستورها را نیز میتوان از طریق این باس واکشی کرد که بازده کمتری از باس I دارد. هدف این باس SRAM1/2/3 داخلی و وسیلههای جانبی AHB1 شامل وسیلههای جانبی APB، وسیلههای جانبی AHB2 و حافظههای خارجی از طریق FMC میباشد.
دو پل AHB/APB، به نام APB1 و APB2 امکان اتصال هم زمان بین AHB و دو باس APB را با امکان انتخاب فرکانس وسیله جانبی فراهم میکنند. ماکزیمم فرکانس این دو باس در برگه اطلاعات درج شده است. باید دقت کرد که هر وسیله جانبی روی کدامیک از این باسها قرار دارد. اینها در جدولی در مرجع میکروکنترلر قرار دارد.
بعد از بازنشانی، کلاکهای وسایل جانبی غیرفعال میشود (به جز SRAM و رابط حافظه فلش). قبل از استفاده از هر وسیله جانبی باید کلاک آن را در رجیستر RCC_AHBxENR یا RCC_APBxENR فعال کنید.
وقتی دسترسی 8 یا 16 بیتی روی APB درخواست میشود، به دسترسی 32 تبدیل میشود. (پل، داده را تکرار میکند تا برداری 32 بیتی درست شود)
در قسمت چهارم آموزش میکروکنترلر STM32F4 به حافظه خواهیم پرداخت. با سیسوگ همراه باشید.
نویسنده شو !
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.