SmartFusion2
DDR контроллери жана сериялык жогорку ылдамдыктагы контроллер
Инициализация методологиясы
Колдонуучунун колдонмосу
Introduction
SmartFusion2 түзмөгүн колдонуу менен дизайнды түзүп жатканда, эки DDR контроллеринин бирин (FDDR же MDDR) же Сериялык жогорку ылдамдыктагы контроллердин (SERDESIF) кайсынысын болбосун колдонсоңуз, сиз бул блоктордун конфигурация регистрлерин ишке киргизүү учурунда инициализациялашыңыз керек. аларды колдонууга болот. Мисалы үчүнample, DDR контроллери үчүн сиз DDR режимин (DDR3/DDR2/LPDDR), PHY туурасын, жарылуу режимин жана ECCди коюшуңуз керек.
Ошо сыяктуу эле, PCIe акыркы чекити катары колдонулган SERDESIF блогу үчүн, сиз PCIE тилкесин AXI (же AHB) терезесине коюшуңуз керек.
Бул документ DDR контроллерин жана SERDESIF блокторун иштеткенде автоматтык түрдө инициализациялоочу Libero дизайнын түзүү үчүн зарыл болгон кадамдарды сүрөттөйт. Ал ошондой эле камтылган дизайн агымында колдонулган Libero SOCдан микропрограммалык кодду кантип түзүү керектигин сүрөттөйт.
Адегенде операциялар теориясынын толук сүрөттөлүшү берилет.
Кийинки бөлүмдө Libero SoC System Builder аркылуу ушундай дизайнды кантип түзүү керектиги сүрөттөлөт, бул күчтүү дизайн инструменти, ал башка мүмкүнчүлүктөр менен бирге, эгер сиз дизайныңызда DDR же SERDESIF блокторун колдонуп жатсаңыз, сиз үчүн "инициализациялоо" чечимин түзөт.
Кийинки бөлүм SmartFusion2 System Builder'ди колдонбостон, кантип толук "инициализациялоо" чечимин бириктирүү керектигин сүрөттөйт. Бул Система куруучуну колдонууну каалабасаңыз, эмне кылуу керектигин түшүндүрүүгө жардам берет, ошондой эле Система куруучу куралы сиз үчүн иш жүзүндө эмнелерди жаратаарын сүрөттөйт. Бул бөлүм төмөнкүлөргө кайрылат:
- DDR контроллери жана SERDESIF конфигурация регистрлери үчүн конфигурация маалыматтарын түзүү
- Конфигурация маалыматтарын ар кандай ASIC конфигурация регистрлерине өткөрүү үчүн талап кылынган FPGA логикасын түзүү
Акыр-аягы, биз түзүлгөн сүрөттөйт fileменен байланышкан:
- Микропрограмманы "инициализациялоо" чечимин түзүү.
- DDR "инициализациясы" чечими үчүн дизайндын симуляциясы.
DDR контроллери жана SERDESIF конфигурация регистрлери тууралуу чоо-жайды караңыз Microsemi SmartFusion2 Жогорку ылдамдыктагы сериялык жана DDR интерфейстери Колдонуучунун колдонмосу.
Операция теориясы
Перифериялык инициализация чечими төмөнкү негизги компоненттерди колдонот:
- CMSIS SystemInit() функциясы, ал Cortex-M3де иштейт жана инициализация процессин уюштурат.
- Перифериялык түзүлүштөрдүн конфигурация регистрлерин инициализациялоочу CoreConfigP жумшак IP өзөгү.
- MSS, DDR контроллерлорунун жана SERDESIF блоктордун баштапкы абалга келтирүү ырааттуулугун башкарган CoreResetP жумшак IP өзөгү..
Перифериялык инициализация процесси төмөнкүдөй иштейт:
- Баштапкы абалга келтирилгенден кийин, Cortex-M3 CMSIS SystemInit() функциясын иштетет. Бул функция колдонмонун main() функциясы аткарылганга чейин автоматтык түрдө аткарылат.
CoreResetP чыгыш сигналы MSS_HPMS_READY инициализациялоо процессинин башында ырасталат, бул MSS жана бардык перифериялык түзүлүштөр (MDDRден башка) байланышка даяр экенин көрсөтүп турат. - SystemInit() функциясы DDR контроллерлоруна жана SERDESIF конфигурация регистрлерине MSS FIC_2 APB3 шинасы аркылуу конфигурация маалыматтарын жазат. Бул интерфейс FPGA кездемесинде түзүлгөн жумшак CoreConfigP өзөгүнө туташтырылган.
- Бардык регистрлер конфигурациялангандан кийин, SystemInit() функциясы регистрди конфигурациялоо фазасынын аяктаганын көрсөтүү үчүн CoreConfigP башкаруу регистрлерине жазат; CoreConfigP чыгыш сигналдары CONFIG1_DONE жана CONIG2_DONE кийин ырасталат.
Дизайнда колдонулган перифериялык түзүлүшкө жараша регистр конфигурациясынын эки фазасы бар (CONFIG1 жана CONFIG2). - Эгерде бир же экөө тең MDDR/FDDR колдонулса жана SERDESIF блокторунун бири да долбоордо колдонулбаса, регистр конфигурациясынын бир гана фазасы бар. CoreConfigP чыгыш сигналдары экөө тең CONFIG1_DONE жана CONIG2_DONE эч кандай күтүү/кечигүүсүз биринин артынан бири ырасталат.
Эгерде дизайнда PCIe эмес режимде бир же бир нече SERDESIF блоктору колдонулса, регистр конфигурациясынын бир гана фазасы бар. CONFIG1_DONE жана CONIG2_DONE эч кандай күтүүсүз/кечигүүсүз биринин артынан бири ырасталат.
Эгерде дизайнда PCIe режиминдеги бир же бир нече SERDESIF блоктору колдонулса, регистр конфигурациясынын эки фазасы бар. CONFIG1_DONE регистр конфигурациясынын биринчи фазасы аяктагандан кийин ырасталат. Бул фазада SERDESIF системасы жана тилке регистрлери конфигурацияланган. Эгерде SERDESIF PCIE эмес режимде конфигурацияланса, CONFIG2_DONE сигналы да дароо ырасталат. - Андан кийин регистр конфигурациясынын экинчи фазасы өтөт (эгерде SERDESIF PCIE режиминде конфигурацияланса). Төмөндө экинчи этапта болгон ар кандай окуялар болуп саналат:
– CoreResetP колдонулган SERDESIF блокторунун ар бирине туура келген PHY_RESET_N жана CORE_RESET_N сигналдарын жокко чыгарат. Ал ошондой эле бардык SERDESIF блоктору баштапкы абалга келтирилгенден кийин SDIF_RELEASED чыгуу сигналын ырастайт. Бул SDIF_RELEASED сигнал CoreConfigPге SERDESIF өзөгү баштапкы абалга келтирилбей калганын жана регистр конфигурациясынын экинчи фазасына даяр экендигин көрсөтүү үчүн колдонулат.
– SDIF_RELEASED сигналы ырасталгандан кийин, SystemInit() функциясы тиешелүү SERDESIF тилкесинде PMA_READY ырастоосу үчүн сурамжылоону баштайт. PMA_READY ырасталгандан кийин, SERDESIF регистрлеринин экинчи топтому (PCIE регистрлери) SystemInit() функциясы тарабынан конфигурацияланат/жазылады. - Бардык PCIE регистрлери конфигурациялангандан кийин, SystemInit() функциясы регистр конфигурациясынын экинчи фазасынын аяктаганын көрсөтүү үчүн CoreConfigP башкаруу регистрлерине жазат; анда CoreConfigP чыгыш сигналы CONIG2_DONE ырасталат.
- Жогорудагы сигналдардын ырастоолорунан/тастыктоолорунан тышкары, CoreResetP ошондой эле төмөнкү функцияларды аткаруу менен түрдүү блокторду инициализациялоону башкарат:
– FDDR өзөктү баштапкы абалга келтирүүнү жокко чыгаруу
– SERDESIFди ырастоо PHY жана CORE баштапкы абалга келтирүүнү блоктойт
– FDDR PLL (FPLL) кулпу сигналынын мониторинги. FPLL FDDR AXI/AHBLite маалымат интерфейси жана FPGA ткани туура байланыша аларына кепилдик берүү үчүн кулпуланган болушу керек.
– SERDESIF блок PLL (SPLL) кулпу сигналдарына мониторинг. SERDESIF блоктору AXI/AHBLite интерфейсин (PCIe режими) же XAUI интерфейси FPGA ткани менен туура байланыша аларына кепилдик берүү үчүн SPLL кулпуланган болушу керек.
– Сырткы DDR эстутумдары чечилип, DDR контроллерлору кирүүгө даяр болушун күтүү. - Бардык перифериялык түзүлүштөр инициализациялоону аяктаганда, CoreResetP INIT_DONE сигналын ырастайт; анда CoreConfigP ички регистр INIT_DONE ырасталат.
Эгерде бир же экөө тең MDDR/FDDR колдонулса жана DDR инициализациялоо убактысына жетсе, CoreResetP чыгыш сигналы DDR_READY ырасталат. Бул DDR_READY сигналынын ырасталышын DDR (MDDR/FDDR) байланышка даяр экендигинин көрсөткүчү катары байкоого болот.
Эгерде бир же бир нече SERDESIF блоктору колдонулса жана регистр конфигурациясынын экинчи фазасы ийгиликтүү аяктаса, CoreResetP чыгыш сигналы SDIF_READY ырасталат. Бул SDIF_READY сигналынын ырасталышын бардык SERDESIF блоктору байланышка даяр экендигинин көрсөткүчү катары байкоого болот. - INIT_DONE ырасталышын күтүп жаткан SystemInit() функциясы аяктайт жана колдонмонун main() функциясы аткарылат. Ошол учурда, бардык колдонулган DDR контроллерлору жана SERDESIF блоктору инициализацияланган жана микропрограмма тиркемеси жана FPGA ткани логикасы алар менен ишенимдүү байланыша алат.
Бул документте сүрөттөлгөн методология Cortex-M3 инициализация процессин колдонмонун main()функциясына чейин аткарылган системаны инициализациялоо кодунун бир бөлүгү катары аткарат.
FDDR/MDDR, SEREDES (PCIe эмес режим) жана SERDES (PCIe режими) инициализация кадамдары үчүн 1-1-сүрөт, 1-2-сүрөт жана 1-3-сүрөттөгү агым диаграммаларын караңыз.
1-4-сүрөттө Перифериялык инициализациянын убакыт диаграммасы көрсөтүлгөн.
![]() |
![]() |
1-3-сүрөт • SERDESIF (PCIe) инициализациялоо схемасы
Бул документте сүрөттөлгөн инициализациялоо процедурасы сиз Cortex-M3те кандайдыр бир кодду иштетүүнү пландабасаңыз да, инициализациялоо процессинде Cortex-M3ти иштетүүнү талап кылат. Сиз эч нерсе кылбаган негизги микропрограммалык тиркемени түзүшүңүз керек (жөнөкөй цикл, мисалыample) жана аны кыналган Учуучу эмес эс тутумга (eNVM) жүктөңүз, ошондуктан DDR контроллерлору жана SERDESIF блоктору Cortex-M3 жүктөлгөндө инициализацияланат.
DDR жана SERDESIF блокторун колдонуу менен дизайн түзүү үчүн Система куруучуну колдонуу
SmartFusion2 System Builder - бул система деңгээлиндеги талаптарды аныктоого жардам берген жана ошол талаптарды ишке ашыруучу дизайнды чыгарган күчтүү дизайн куралы. Система куруучунун абдан маанилүү функциясы - бул перифериялык инициализация подсистемасынын автоматтык түрдө түзүлүшү. “DDR жана SERDESIF блокторун колдонуу менен дизайнды түзүү үчүн SmartDesignти колдонуу” 17-беттеги система куруучусуз мындай чечимди кантип түзүү керектиги кеңири сүрөттөлөт.
Эгерде сиз System Builder колдонуп жатсаңыз, DDR контроллерлоруңузду жана SERDESIF блокторун кубаттоо учурунда инициализациялоочу дизайнды түзүү үчүн төмөнкү тапшырмаларды аткарышыңыз керек:
- Түзмөктүн өзгөчөлүктөрү бетинде (сүрөт 2-1), дизайныңызда кайсы DDR контроллерлору колдонулганын жана канча SERDESIF блоктору колдонулганын көрсөтүңүз.
- Эстутум бетинде DDR түрүн (DDR2/DDR3/LPDDR) жана тышкы DDR эс тутумуңуз үчүн конфигурация маалыматтарын көрсөтүңүз. Чоо-жайын билүү үчүн Memory Page бөлүмүн караңыз.
- Перифериялык түзмөктөр бетинде Fabric DDR Subсистемасына жана/же MSS DDR FIC Subсистемасына AHBLite/AXI катары конфигурацияланган кездеме мастерлерин кошуңуз (милдеттүү эмес).
- Саат Орнотуулар бетинде DDR суб-системалары үчүн саат жыштыктарын көрсөтүңүз.
- Дизайн спецификацияңызды бүтүрүп, "Бүтүрүү" баскычын басыңыз. Бул система куруучу тарабынан түзүлгөн дизайнды, анын ичинде "инициализациялоо" чечими үчүн зарыл болгон логиканы жаратат.
- Эгерде сиз SERDESIF блокторун колдонуп жатсаңыз, анда сиз SERDESIF блокторун дизайныңызда ишке киргизишиңиз керек жана алардын инициализация портторун Система куруучу тарабынан түзүлгөн өзөктүн портторуна туташтырыңыз.
Система куруучу түзмөк өзгөчөлүктөрү барагы
Түзмөктүн өзгөчөлүктөрү бетинде кайсы DDR контроллерлору (MDDR жана/же FDDR) колдонулганын жана дизайныңызда канча SERDESIF блоктору колдонулганын көрсөтүңүз (сүрөт 2-1).
Сүрөт 2-1 • Система куруучу түзмөк өзгөчөлүктөрү барагы
Система куруучу эстутум барагы
MSS DDR (MDDR) же Fabric DDR (FDDR) колдонуу үчүн ачылуучу тизмеден Эс тутум түрүн тандаңыз (сүрөт 2-2).
Сүрөт 2-2 • MSS тышкы эстутуму
Сиз милдеттүүсүз:
- DDR түрүн тандаңыз (DDR2, DDR3 же LPDDR).
- DDR эс тутумун орнотуу убактысын аныктаңыз. Туура эстутум орнотуу убактысын коюу үчүн тышкы DDR эстутумуңуздун спецификацияларын караңыз. Эгерде эстутум орнотуу убактысы туура коюлбаса, DDR эстутуму туура башталбай калышы мүмкүн.
- DDR регистринин конфигурация маалыматтарын импорттоңуз же DDR эс тутумуңуздун параметрлерин орнотуңуз. чоо-жайы үчүн, карагыла Microsemi SmartFusion2 Жогорку ылдамдыктагы сериялык жана DDR интерфейстери Колдонуучунун колдонмосу.
Бул маалыматтар DDR регистринин BFM жана микропрограмма конфигурациясын түзүү үчүн колдонулат files 26-беттеги “Программаны түзүү жана компиляциялоо” жана “BFM” бөлүмүндө сүрөттөлгөндөй Files Дизайнды имитациялоо үчүн колдонулат” 27-бетте. DDR контроллерунун конфигурация регистрлери боюнча чоо-жайын караңыз Microsemi SmartFusion2 Жогорку ылдамдыктагы сериялык жана DDR интерфейстери Колдонуучунун колдонмосу.
Мурункуampконфигурациясынын le file синтаксис 2-3-сүрөттө көрсөтүлгөн. Мында колдонулган реестрдин аттары file сүрөттөлгөндөй эле Microsemi SmartFusion2 Жогорку ылдамдыктагы сериялык жана DDR интерфейстери Колдонуучунун колдонмосу
Сүрөт 2-3 • Конфигурация File Синтаксис Example
Система куруучунун перифериялык баракчасы
Перифериялык түзүлүштөр бетинде ар бир DDR контроллери үчүн өзүнчө подсистема түзүлөт (FDDR үчүн Fabric DDR Subsystem жана MDDR үчүн MSS DDR FIC Subсистема). DDR контроллерлоруна кездеме мастеринин кирүү мүмкүнчүлүгүн иштетүү үчүн сиз Fabric AMBA Master (AXI/AHBLite катары конфигурацияланган) өзөгүн бул подсистемалардын ар бирине кошо аласыз. Түзүлгөндөн кийин, Система куруучу автобус өзөктөрүн (кошулган AMBA Masterдин түрүнө жараша) автоматтык түрдө ишке киргизет жана шинанын негизги BIF'ин жана тиешелүү подсистемалардын (FDDR/MDDR) саатын жана баштапкы абалга келтирүүчү пиндерди тиешелүү пин топторуна көрсөтөт. жогору. Болгону BIFтерди дизайнда келтире турган Fabric Master өзөктөрүнө туташтырсаңыз болот. MDDR учурда, MSS DDR FIC подсистемасына Fabric AMBA Master өзөгүн кошуу милдеттүү эмес; Cortex-M3 бул подсистеманын демейки мастери. 2-4-сүрөттө Система куруучунун перифериялык жабдыктары барагы көрсөтүлгөн.
Сүрөт 2-4 • Система куруучунун перифериялык жабдыктары барагы
Система куруучу саат орнотуулар барагы
Саат орнотуулары бетинде ар бир DDR контроллери үчүн ар бир DDR (MDDR жана/же FDDR) суб-системасына тиешелүү саат жыштыктарын көрсөтүшүңүз керек.
MDDR үчүн төмөнкүлөрдү көрсөтүшүңүз керек:
- MDDR_CLK – Бул саат DDR контроллерунун иштөө жыштыгын аныктайт жана сиз тышкы DDR эс тутумуңуздун иштешин каалаган саат жыштыгына дал келиши керек. Бул саат M3_CLK (Cortex-M3 жана MSS Негизги сааты, 2-5-сүрөт) эселенген катары аныкталган. MDDR_CLK 333 МГц кем болушу керек.
- DDR_FIC_CLK - Эгер сиз FPGA тканинен MDDRге кирүүнү тандасаңыз, DDR_FIC_CLK көрсөтүшүңүз керек. Бул саат жыштыгы MDDR_CLK катышы катары аныкталат жана MDDRге кире турган FPGA кездеме субсистемасы иштеп жаткан жыштыкка дал келиши керек.
Сүрөт 2-5 • Cortex-M3 жана MSS негизги сааты; MDDR сааттары
FDDR үчүн сиз төмөнкүлөрдү белгилешиңиз керек:
- FDDR_CLK – DDR контроллерунун иштөө жыштыгын аныктайт жана тышкы DDR эс тутумуңуздун иштешин каалаган сааттык жыштыкка дал келиши керек. Бул саат M3_CLK (MSS жана Cortex-M3 сааты, 2-5-сүрөт) эселенген катары аныкталганын эске алыңыз. FDDR_CLK 20 МГц жана 333 МГц ичинде болушу керек.
- FDDR_SUBSYSTEM_CLK - Бул тактык жыштык FDDR_CLK катышы катары аныкталат жана FDDRге кире турган FPGA кездеме субсистемасы иштеп жаткан жыштыкка дал келиши керек.
Сүрөт 2-6 • Кездемеден жасалган DDR сааттары
SERDESIF конфигурациясы
SERDESIF блоктору Система куруучу тарабынан түзүлгөн дизайнда түзүлбөйт. Бирок, бардык SERDESIF блоктору үчүн инициализациялоо сигналдары Система куруучу өзөктүн интерфейсинде жеткиликтүү жана 2-7-сүрөттө көрсөтүлгөндөй, иерархиянын кийинки деңгээлинде SERDESIF өзөктөрүнө туташтырылышы мүмкүн.Сүрөт 2-7 • SERDESIF перифериялык инициализациялоо байланышы
DDR конфигурация регистрлерине окшоп, ар бир SERDES блогунун конфигурация регистрлери да бар, алар аткаруу убагында жүктөлүшү керек. Сиз бул регистр маанилерин импорттосоңуз болот же Жогорку ылдамдыктагы сериялык интерфейс конфигураторун (2-8-сүрөт) PCIe же EPCS параметрлерин киргизүү үчүн колдонсоңуз болот жана регистр маанилери сиз үчүн автоматтык түрдө эсептелинет. чоо-жайы үчүн, карагыла SERDES Configurator Колдонуучунун колдонмосу.Сүрөт 2-8 • Жогорку ылдамдыктагы сериялык интерфейстин конфигуратору
Колдонуучу логикаңызды Система куруучу блогу жана SERDES блогу менен бириктиргенден кийин, сиз жогорку деңгээлдеги SmartDesign түзө аласыз. Бул бардык HDL жана BFM түзөт fileСиздин дизайнды ишке ашыруу жана имитациялоо үчүн зарыл. Андан кийин Дизайн агымынын калган бөлүгүн уланта аласыз.
DDR жана SERDESIF блокторун колдонуу менен дизайн түзүү үчүн SmartDesign колдонуу
Бул бөлүм SmartFusion2 System Builder колдонбостон, кантип толук "инициализациялоо" чечимин бириктирүү керектигин сүрөттөйт. Максаты - Система куруучуну колдонууну каалабасаңыз, эмне кылуу керек экенин түшүнүүгө жардам берүү. Бул бөлүм ошондой эле Система куруучу куралы сиз үчүн эмнелерди жаратаарын сүрөттөйт. Бул бөлүмдө кантип жасалышы сүрөттөлөт:
- DDR контроллери жана SERDESIF конфигурация регистрлери үчүн конфигурация маалыматтарын киргизиңиз.
- Конфигурация маалыматтарын DDR контроллерлоруна жана SERDESIF конфигурация регистрлерине өткөрүү үчүн зарыл болгон кездеме өзөктөрүн түзүңүз жана туташтырыңыз.
DDR контроллер конфигурациясы
MSS DDR (MDDR) жана Fabric DDR (FDDR) контроллерлору тышкы DDR эстутум конфигурациясынын талаптарына (DDR режими, PHY туурасы, жарылуу режими, ECC ж.б.) дал келүү үчүн динамикалык (иштөө убагында) конфигурацияланышы керек. MDDR/FDDR конфигураторуна киргизилген маалыматтар CMSIS SystemInit() функциясы аркылуу DDR контроллеринин конфигурация регистрлерине жазылат. Конфигуратордо конфигурация маалыматтарынын ар кандай түрлөрүн киргизүү үчүн үч түрдүү өтмөк бар:
- Жалпы маалыматтар (DDR режими, берилиштердин туурасы, саат жыштыгы, ECC, кездеме интерфейси, дисктин күчү)
- Эстутумду инициализациялоо дайындары (Жарылуу узундугу, жарылуу тартиби, убакыт режими, кечигүү ж.б.)
- Memory Timeming маалыматтары
Тышкы DDR эс тутумуңуздун спецификацияларын караңыз жана DDR контроллерин тышкы DDR эс тутумуңуздун талаптарына дал келүү үчүн конфигурациялаңыз.
DDR конфигурациясынын чоо-жайы үчүн, караңыз SmartFusion2 MSS DDR конфигурациясынын Колдонуучу колдонмосу.
SERDESIF конфигурациясы
SERDESти конфигурациялоо үчүн Конфигураторду ачуу үчүн SmartDesign кенепиндеги SERDES блогун эки жолу басыңыз (3-1-сүрөт). Сиз бул реестр маанилерин импорттой аласыз же PCIe же EPCS параметрлериңизди киргизүү үчүн SERDES конфигураторун колдонсоңуз болот жана регистрдин маанилери сиз үчүн автоматтык түрдө эсептелинет. чоо-жайы үчүн, карагыла SERDES Configurator Колдонуучунун колдонмосу.Сүрөт 3-1 • Жогорку ылдамдыктагы сериялык интерфейстин конфигуратору
FPGA Дизайн инициализациялоо субсистемасын түзүү
DDR жана SERDESIF блокторун инициализациялоо үчүн, сиз FPGA кездемесинде инициализациялоо подсистемасын түзүшүңүз керек. FPGA ткани инициализациялоо подсистемасы маалыматтарды Cortex-M3тен DDR жана SERDESIF конфигурация регистрлерине жылдырат, бул блоктордун иштеши үчүн талап кылынган баштапкы абалга келтирүү ырааттуулугун башкарат жана бул блоктор дизайныңыздын калган бөлүгү менен байланышууга даяр болгондо сигнал берет. Инициализация подсистемасын түзүү үчүн, сиз төмөнкүлөрдү аткарышыңыз керек:
- FIC_2ди MSS ичинде конфигурациялаңыз
- CoreConfigP жана CoreResetP өзөктөрүн ишке киргизиңиз жана конфигурациялаңыз
- Чиптеги 25/50 МГц RC осцилляторун ишке киргизиңиз
- Системаны кайра орнотуу (SYSRESET) макросун ишке киргизиңиз
- Бул компоненттерди ар бир перифериялык түзүлүштүн конфигурация интерфейстерине, сааттарга, баштапкы абалга келтирүүгө жана PLL кулпу портторуна туташтырыңыз
MSS FIC_2 APB конфигурациясы
MSS FIC_2 конфигурациялоо үчүн:
- MSS конфигураторунан FIC_2 конфигуратор диалог кутусун ачыңыз (сүрөт 3-2).
- Cortex-M3 аркылуу перифериялык түзүлүштөрдү баштоону тандаңыз.
- Системаңызга жараша, төмөнкү кутучалардын бирин же экөөнү тең белгилеңиз:
– MSS DDR
– Кездеме DDR жана/же SERDES блоктору - "OK" баскычын чыкылдатып, MSS түзүүнү улантыңыз (сиз бул аракетти MSSти дизайн талаптарыңызга толук конфигурациялаганга чейин кийинкиге калтырсаңыз болот). FIC_2 порттору (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK жана FIC_2_APB_M_RESET_N) эми MSS интерфейсинде ачыкка чыгып, CoreConfigP жана CoreResetP өзөктөрүнө туташса болот.
Сүрөт 3-2 • MSS FIC_2 Конфигуратор
CoreConfigP
CoreConfigP конфигурациялоо үчүн:
- CoreConfigP'ди SmartDesign'иңизге орнотуңуз (адатта MSS түзүлгөн жерде).
Бул өзөктү Libero каталогунан тапса болот (перифериялык түзүлүштөр астында). - Конфигураторду ачуу үчүн өзөктү эки жолу чыкылдатыңыз.
- Кайсы перифериялык түзүлүштөрдү инициализациялоо керектигин аныктоо үчүн өзөктү конфигурациялаңыз (3-3-сүрөт)
Сүрөт 3-3 • CoreConfigP диалог кутусу
CoreResetP
CoreResetP конфигурациялоо үчүн:
- CoreResetP'ди SmartDesign'га орнотуңуз (адатта MSS түзүлгөн жерде).
Бул өзөктү Libero каталогунан, Перифериялык түзүлүштөрдөн тапса болот. - Конфигураторду ачуу үчүн SmartDesign Canvas ичиндеги өзөктү эки жолу чыкылдатыңыз (сүрөт 3-4).
- Өзөктү конфигурациялаңыз:
– Тышкы баштапкы абалга келтирүү аракетин көрсөтүңүз (EXT_RESET_OUT ырасталган). Төрт варианттын бирин тандаңыз:
o EXT_RESET_OUT эч качан ырасталбайт
o EXT_RESET_OUT кубаттулукту баштапкы абалга келтирсе (POWER_ON_RESET_N) ырасталат
o EXT_RESET_OUT ырасталат, эгерде FAB_RESET_N ырасталса
o EXT_RESET_OUT эгер кубатту калыбына келтирүү (POWER_ON_RESET_N) же FAB_RESET_N ырасталса, ырасталат
– Түзмөктүн көлөмүн көрсөтүңүзtagд. Тандалган маани томго дал келиши керекtagСиз Libero Долбоорунун Орнотуулар диалог кутусунда тандадыңыз.
– Дизайныңызда кайсы перифериялык түзүлүштөрдү колдонуп жатканыңызды көрсөтүү үчүн тиешелүү белгилөө кутучаларын белгилеңиз.
– Тышкы DDR эстутумун орнотуу убактысын көрсөтүңүз. Бул колдонмоңузда колдонулган бардык DDR эс тутумдары үчүн максималдуу маани (MDDR жана FDDR). Бул параметрди конфигурациялоо үчүн тышкы DDR эстутум сатуучу маалымат жадыбалына кайрылыңыз. 200us - 2MHz жыштыктагы DDR3 жана DDR200 эс тутумдары үчүн жакшы демейки маани. Бул кремний боюнча иштеген симуляцияны жана иштөө системасын кепилдөө үчүн абдан маанилүү параметр. Жөндөө убактысынын туура эмес мааниси симуляция каталарына алып келиши мүмкүн. Бул параметрди конфигурациялоо үчүн DDR эстутум сатуучу маалымат баракчасына кайрылыңыз.
– Дизайныңыздагы ар бир SERDES блогу үчүн, тиешелүү кутучаларды белгилеңиз:
o PCIe колдонулат
o PCIe Hot Reset үчүн колдоо талап кылынат
o PCIe L2/P2 үчүн колдоо талап кылынат
Эскертүү: Эгерде сиз 090 die(M2S090) колдонуп жатсаңыз жана дизайныңызда SERDESIF колдонулса, анда төмөнкү кутучалардын бирин белгилешиңиз керек эмес: 'PCIe үчүн колдонулат', 'PCIe HotReset колдоосун кошуу' жана 'PCIe L2/P2 колдоосун кошуу'. Эгер сиз кандайдыр бир 090 эмес түзүлүштү колдонуп жатсаңыз жана бир же бир нече SERDESIF блокторун колдонуп жатсаңыз, тиешелүү SERDESIF бөлүмүндөгү бардык төрт белгини белгилешиңиз керек.
Эскертүү: Бул конфигуратордо сиз үчүн жеткиликтүү болгон варианттар жөнүндө толук маалымат алуу үчүн CoreResetP колдонмосун караңыз.
Сүрөт 3-4 • CoreResetPConfigurator
25/50 МГц осцилляторду инстанциялоо
CoreConfigP жана CoreResetP чиптеги 25/50 МГц RC осциллятору тарабынан саатталат. Сиз 25/50 МГц осцилляторду жаратып, аны ушул өзөктөргө туташтырыңыз.
- Чип осцилляторлорунун өзөгүн SmartDesignиңизге орнотуңуз (адатта MSS түзүлгөн жерде). Бул өзөктү Libero каталогунан Clock & Management астынан тапса болот.
- Бул өзөктү RC осциллятору 3-5-сүрөттө көрсөтүлгөндөй, FPGA кездемесин айдагыдай кылып конфигурациялаңыз.
Сүрөт 3-5 • Чиптик осцилляторлордун конфигуратору
Системаны кайра орнотуу (SYSRESET) Instantiation
SYSRESET макросу сиздин дизайныңызга түзмөк деңгээлин баштапкы абалга келтирүү функциясын камсыз кылат. POWER_ON_RESET_N чыгуу сигналы чип күйгүзүлгөндө же DEVRST_N тышкы пин ырасталганда/де-бекитилгенде ырасталат/де-эссертацияланат (сүрөт 3-6).
SYSRESET макросун SmartDesignиңизге түзүңүз (адатта MSS түзүлгөн жерде). Бул макросту Libero каталогунан Macro Library астынан тапса болот. Бул макронун конфигурациясынын кереги жок.
Сүрөт 3-6 • SYSRESET макро
Жалпы байланыш
Дизайныңызда MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP жана CoreResetP өзөктөрүн ишке киргизгенден жана конфигурациялагандан кийин, аларды Перифериялык инициализациянын подсистемасын түзүү үчүн туташтырышыңыз керек. Бул документтеги туташуунун сүрөттөлүшүн жөнөкөйлөтүү үчүн, ал CoreConfigP жана CoreResetP менен байланышкан байланыштар менен байланышкан APB3 ылайыктуу конфигурация маалымат жолуна бөлүнөт.
Configuration Data Path Connectivity
3-7-сүрөт CoreConfigPди MSS FIC_2 сигналдарына жана перифериялык түзүлүштөрдүн APB3 шайкеш конфигурация интерфейстерине кантип туташтыруу керектигин көрсөтөт.
Таблица 3-1 • Configuration Data Path Port/BIF Connections
FROM Порт/автобус интерфейси (BIF)/ Компонент |
TO Порт/автобус интерфейси (BIF)/компонент |
||
APB S АЛДЫН АЛА ОРНОТУ ЖОК/ CoreConfigP | APB S АЛДЫН АЛА ОРНОТУ ЖОК/ SDIF<0/1/2/3> | APB S АЛДЫН АЛА ОРНОТУ ЖОК/ FDDR |
MDDR APB S PRESSE TN/MSS |
APB S PCLK/ CoreConfigP | APB S PCLK/SDIF | APB S PCLK/FDDR | MDDR APB S POLK/ MSS |
MDDR APBmsslave/CoreConfig | MDDR APB SLAVE (BIF)/MSS | ||
SDIF<0/1/2/ 3> APBmsslave/Config | APB SLAVE (BIF)/ SDIF<0/1/2/3> | ||
FDDR APBmsslave | APB SLAVE (BIF)/ FDDR | ||
FIC 2 APBmmaster/CoreConfigP | FIC 2 APB MASTER/ MSS |
3-7-сүрөт • FIC_2 APB3 Суб-системасынын байланышы
Сааттар жана Туташууну баштапкы абалга келтирет
3-8-сүрөттө CoreResetPди тышкы баштапкы абалга келтирүү булактарына жана перифериялык түзүлүштөрдүн негизги баштапкы абалга келтирүү сигналдарына кантип туташтыруу керектиги көрсөтүлгөн. Ал ошондой эле CoreResetPди перифериялык түзүлүштөрдүн саат синхрондоштуруу абалынын сигналдарына (PLL кулпу сигналдары) кантип туташтыруу керектигин көрсөтөт. Мындан тышкары, ал CoreConfigP жана CoreResetP кантип туташтырылганын көрсөтөт.
3-8-сүрөт • Негизги SF2Reset суб-системасынын туташуусу
Микропрограмманын тиркемесин түзүү жана түзүү
Сиз LiberoSoCден микропрограмманы экспорттогонуңузда (Дизайн агымы терезеси > Микропрограмманы экспорттоо > Микропрограмманы экспорттоо), Libero төмөнкүлөрдү жаратат fileс ичинде /firmware/drivers_config/ sys_config папкасы:
- sys_config.c – Перифериялык регистрлер үчүн маанилерди камтыган маалымат структураларын камтыйт.
- sys_config.h – Дизайнда кайсы перифериялык түзүлүштөр колдонулганын жана инициализациялоо керек экендигин көрсөткөн #define операторлорун камтыйт.
- sys_config_mddr_define.h – Регистрлердин конфигурациясынын диалог кутусуна киргизилген MDDR контроллеринин конфигурация маалыматтарын камтыйт.
- sys_config_fddr_define.h – Регистрлердин конфигурациясынын диалог кутусуна киргизилген FDDR контроллерунун конфигурация маалыматтарын камтыйт.
- sys_config_mss_clocks.h – Бул file MSS CCC конфигураторунда аныкталгандай MSS саат жыштыктарын камтыйт. Бул жыштыктар CMSIS коду тарабынан алардын Перифериялык Саатты (PCLK) жыштыгына жетүү мүмкүнчүлүгүнө ээ болгон MSS драйверлеринин көбүнө туура саат маалыматын берүү үчүн колдонулат (мисалы, MSS UART берүү ылдамдыгын бөлүүчүлөрү берүү ылдамдыгынын жана PCLK жыштыгынын функциясы болуп саналат. ).
- sys_config_SERDESIF_ .c – SERDESIF_ камтыйт SERDESIF_ учурунда берилген конфигурация маалыматтарын каттоо дизайнды түзүүдө блок конфигурациясын.
- sys_config_SERDESIF_ .h – Регистр конфигурациясынын жуптарынын санын жана PMA_READY үчүн суралышы керек болгон тилке номерин көрсөткөн #define операторлорун камтыйт (PCIe режиминде гана).
Булар fileCMSIS коду туура түзүшү жана учурдагы дизайныңызга байланыштуу маалыматты, анын ичинде перифериялык конфигурация маалыматтарын жана MSS үчүн саат конфигурация маалыматын камтышы үчүн талап кылынат.
Буларды редакциялаба fileкол менен; алар тиешелүү перифериялык түзүлүштөрдү камтыган SmartDesign компоненттери жаралган сайын тиешелүү компонентке/перифериялык каталогдорго түзүлөт. Эгерде кандайдыр бир перифериялык түзүлүштөрдүн конфигурация маалыматтарына кандайдыр бир өзгөртүүлөр киргизилсе, анда сиз жаңыртылган микропрограмманы кайра экспорттооңуз керек. files (жогорку тизмени караңыз) экспорттолот / firmware/drivers_config/sys_config папкасы.
Микропрограмманы экспорттоодо, Libero SoC микропрограмма долбоорлорун түзөт: сиздин дизайн конфигурацияңыз орнотулган китепкана fileлар жана айдоочулар түзүлөт.
Долбоорду түзүүнү текшерсеңиз микропрограмманы экспорттоодо белги кутучасы тиркеме долбоорун кармап туруу үчүн SoftConsole/IAR/Keil программасы түзүлөт, анда сиз main.c жана колдонуучу C/H түзөтө аласыз. fileс. CMSIS кодун туура компиляциялоо үчүн SoftConSole/IAR/Keil долбоорун ачыңыз жана микропрограммаңыздын тиркемеңиз аппараттык түзүлүшүңүзгө дал келүү үчүн туура конфигурациялансын.
BFM Files Дизайнды имитациялоо үчүн колдонулат
Дизайныңыз менен байланышкан перифериялык түзүлүштөрдү камтыган SmartDesign компоненттерин түзгөндө, симуляция fileтиешелүү перифериялык түзүлүштөргө ылайыктуу лар түзүлөт /симуляция каталогу:
- test.bfm – Жогорку деңгээлдеги BFM file биринчи жолу SmartFusion2 MSS Cortex-M3 процессорун иштеткен ар кандай симуляция учурунда аткарылат. Ал ошол тартипте peripheral_init.bfm жана user.bfm аткарат.
- MDDR_init.bfm – Эгерде сиздин дизайныңыз MDDRди колдонсо, Libero муну жаратат file; анда MSS DDR контроллер регистрлерине сиз киргизген MSS DDR конфигурация реестринин маалыматтарын жазууну окшоштурган BFM жазуу буйруктарын камтыйт (Региздөөлөрдү түзөтүү диалог кутусун же MSS_MDDR GUIде)
- FDDR_init.bfm – Эгерде сиздин дизайныңыз FDDRди колдонсо, Libero муну жаратат file; анда Fabric DDR Controller регистрлерине сиз киргизген Fabric DDR конфигурация регистринин маалыматтарын жазууну окшоштурган BFM жазуу буйруктарын камтыйт (Региздөөлөрдү түзөтүү диалог кутусун же FDDR GUIде) Fabric DDR Controller регистрлерине.
- SERDESIF_ _init.bfm – Эгерде сиздин дизайныңыз бир же бир нече SERDESIF блокторун колдонсо, Libero муну жаратат file SERDESIF_ ар бири үчүн колдонулган блоктор; ал сиз киргизген SERDESIF конфигурация реестринин маалыматтарын жазууну окшоштурган BFM жазуу буйруктарын камтыйт (Регистрлерди түзөтүү диалог кутусун колдонуу же SERDESIF_ GUI) SERDESIF_ге каттайт. SERDESIF блогу PCIe катары конфигурацияланган болсо, бул file ошондой эле регистр конфигурациясынын 2 фазасынын аткарылышын кемчиликсиз тартипте башкарган кээ бир #define операторлору бар.
- user.bfm – Колдонуучунун буйруктарын камтыйт. Бул буйруктар peripheral_init.bfm аяктагандан кийин аткарылат. Муну түзөтүңүз file BFM буйруктарыңызды киргизүү үчүн.
- SERDESIF_ _user.bfm – Колдонуучунун буйруктарын камтыйт. Муну түзөтүңүз file BFM буйруктарыңызды киргизүү үчүн. Эгер сиз SERDESIF_ конфигурациялаган болсоңуз, муну колдонуңуз BFM PCIe симуляция режиминде жана AXI/AHBLite мастери катары бөгөттөө. Эгер сиз SERDESIF_ конфигурациялаган болсоңуз RTL симуляция режиминде бөгөттөө, сизге мунун кереги жок file.
Ар бир жолу симуляцияны чакырганыңызда, төмөнкү эки симуляция fileлар кайра түзүлөт / жаңыртылган мазмуну менен симуляция каталогу:
- subsystem.bfm – Дизайныңызда колдонулган ар бир перифериялык түзүлүш үчүн #define операторлорун камтыйт, алар peripheral_init.bfm ар бир перифериялык түзүлүшкө ылайыктуу аткарыла турган өзгөчө бөлүмүн аныктайт.
- operipheral_init.bfm – CMSIS:: SystemInit() функциясын эмуляциялаган BFM процедурасын камтыйт, сиз main() процедурасына кирерден мурун Cortex-M3де иштейсиз. Ал дизайнда колдонулган каалаган перифериялык түзүлүштүн конфигурация маалыматтарын туура перифериялык конфигурация регистрлерине көчүрөт жана андан кийин бул перифериялык түзүлүштөрдү колдоно аларыңызды ырастоодон мурун бардык перифериялык түзүлүштөрдүн даяр болушун күтөт. Ал MDDR_init.bfm жана FDDR_init.bfm аткарат.
Буларды колдонуу менен түзүлгөн files, дизайныңыздагы DDR контроллерлору SmartFusion2 түзмөгүндө эмне болоорун окшоштуруп, автоматтык түрдө конфигурацияланат. user.bfm түзөтө аласыз file дизайныңызды окшоштурууга керектүү буйруктарды кошуу үчүн (Cortex-M3 - мастер). Бул буйруктар перифериялык түзүлүштөр инициализациялангандан кийин аткарылат. test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm түзөтпөңүз files жана SERDESIF_ _init.bfm files.
Продукт колдоо
Microsemi SoC Products Group өзүнүн өнүмдөрүн ар кандай колдоо кызматтары менен колдойт, анын ичинде Кардарларды тейлөө, Кардарларды техникалык колдоо борбору, webсайт, электрондук почта жана дүйнөлүк сатуу кеңселери.
Бул тиркеме Microsemi SoC Products Group менен байланышуу жана бул колдоо кызматтарын колдонуу жөнүндө маалыматты камтыйт.
Кардарларды тейлөө
Продукциянын баасы, өнүмдөрдү жаңыртуу, жаңыртуу маалыматы, буйрутма статусу жана авторизация сыяктуу техникалык эмес колдоо үчүн Кардарларды тейлөө кызматы менен байланышыңыз.
Түндүк Америкадан, чал 800.262.1060
Дүйнөнүн калган бөлүгүнөн чалыңыз 650.318.4460
Факс, дүйнөнүн каалаган жеринен, 408.643.6913
Кардарларды техникалык колдоо борбору
Microsemi SoC Products Group өзүнүн Кардарларды техникалык колдоо борборуна Microsemi SoC продуктылары боюнча аппараттык, программалык камсыздоо жана дизайн суроолоруңузга жооп берүүгө жардам бере турган жогорку квалификациялуу инженерлерден турат. Кардарларды техникалык колдоо борбору тиркеме жазууларын, жалпы дизайн циклинин суроолоруна жоопторду, белгилүү маселелерди документтештирүүгө жана ар кандай көп берилүүчү суроолорго көп убакыт коротот. Андыктан, биз менен байланышуудан мурун, биздин онлайн ресурстарга баш багыңыз. Балким, биз сиздин суроолоруңузга жооп бергенбиз.
Техникалык колдоо
Кардарларды колдоо бөлүмүнө барыңыз webсайт (www.microsemi.com/soc/support/search/default.aspx) көбүрөөк маалымат жана колдоо үчүн. Көптөгөн жооптор издөөдө бар web ресурс диаграммаларды, иллюстрацияларды жана башка ресурстарга шилтемелерди камтыйт webсайт.
Webсайт
Сиз SoC башкы бетинде ар кандай техникалык жана техникалык эмес маалыматты карап чыга аласыз www.microsemi.com/soc.
Кардарларды техникалык колдоо борборуна кайрылуу
Техникалык колдоо борборун жогорку квалификациялуу инженерлер тейлейт. Техникалык колдоо борбору менен электрондук почта же Microsemi SoC Products Group аркылуу байланышса болот webсайт.
Email
Сиз техникалык суроолоруңузду биздин электрондук почта дарегибизге жөнөтүп, жоопторду электрондук почта, факс же телефон аркылуу ала аласыз. Ошондой эле, сизде дизайн көйгөйлөрү болсо, дизайныңызды электрондук почта аркылуу жөнөтсөңүз болот fileжардам алуу үчүн.
Биз күн бою электрондук почта эсебин дайыма көзөмөлдөйбүз. Суранычыңызды бизге жөнөткөндө, суранычыңыздын натыйжалуу иштеши үчүн толук аты-жөнүңүздү, фирмаңыздын аты-жөнүн жана байланыш маалыматыңызды кошуңуз.
Техникалык колдоо электрондук почта дареги болуп саналат soc_tech@microsemi.com.
Менин учурларым
Microsemi SoC Products Group кардарлары техникалык иштерди онлайн аркылуу тапшырып, көзөмөлдөй алышат Менин учурларым.
АКШдан тышкары
АКШнын убакыт алкагынан тышкары жардамга муктаж кардарлар электрондук почта аркылуу техникалык колдоо менен байланыша алышат (soc_tech@microsemi.com) же жергиликтүү сатуу кеңсесине кайрылыңыз. Сатуу кеңсесинин тизмелерин төмөнкү жерден тапса болот www.microsemi.com/soc/company/contact/default.aspx.
ITAR техникалык колдоо
Эл аралык курал-жарактарды сатуу эрежелери (ITAR) менен жөнгө салынган RH жана RT FPGA боюнча техникалык колдоо алуу үчүн, биз менен байланышыңыз soc_tech_itar@microsemi.com. Же болбосо, Менин учурларым ичинде, ITAR ачылуучу тизмесинен Ооба тандаңыз. ITAR тарабынан жөнгө салынган Microsemi FPGAлардын толук тизмеси үчүн ITARга баш багыңыз web бет.
Microsemi Corporation (NASDAQ: MSCC) жарым өткөргүчтүү чечимдердин комплекстүү портфелин сунуштайт: аэрокосмостук, коргонуу жана коопсуздук; ишкана жана байланыш; жана өнөр жай жана альтернативдик энергия рыноктору. Продукттарга жогорку өндүрүмдүүлүктөгү, жогорку ишенимдүүлүктөгү аналогдук жана RF түзмөктөрү, аралаш сигнал жана RF интегралдык микросхемалары, ыңгайлаштырылган SoCs, FPGAлар жана толук подсистемалар кирет. Microsemi башкы кеңсеси Алисо Виеходо, Калифорнияда жайгашкан. Көбүрөөк билүү бул жерден www.microsemi.com.
© 2014 Microsemi Corporation. Бардык укуктар корголгон. Microsemi жана Microsemi логотиби Microsemi корпорациясынын соода белгилери болуп саналат. Бардык башка соода белгилери жана тейлөө белгилери тиешелүү ээлеринин менчиги болуп саналат.
5-02-00384-1/08.14Microsemi корпоративдик башкы кеңсеси
One Enterprise, Aliso Viejo CA 92656 АКШ
АКШ ичинде: +1 949-380-6100
Сатуу: +1 949-380-6136
Факс: +1 949-215-4996
Документтер / Ресурстар
![]() |
Microsemi SmartFusion2 DDR контроллери жана Сериялык жогорку ылдамдыктагы контроллери [pdf] Колдонуучунун колдонмосу SmartFusion2 DDR контроллери жана сериялык жогорку ылдамдыктагы контроллер, SmartFusion2 DDR, контроллер жана сериялык жогорку ылдамдык контроллери, жогорку ылдамдыктагы контроллер |