SmartFusion2
Kidhibiti cha DDR na Kidhibiti cha Kasi ya Juu cha Serial
Mbinu ya Kuanzisha
Mwongozo wa Mtumiaji
Utangulizi
Wakati wa kuunda muundo kwa kutumia kifaa cha SmartFusion2, ikiwa unatumia moja ya vidhibiti viwili vya DDR (FDDR au MDDR) au kizuizi chochote cha Serial High speed controller (SERDESIF), lazima uanzishe rejista za usanidi wa vitalu hivi wakati wa kukimbia kabla. zinaweza kutumika. Kwa mfanoample, kwa mtawala wa DDR, lazima uweke hali ya DDR (DDR3/DDR2/LPDDR), upana wa PHY, hali ya kupasuka na ECC.
Vile vile, kwa kizuizi cha SERDESIF kinachotumika kama sehemu ya mwisho ya PCIe, lazima uweke PCIE BAR kwa dirisha la AXI (au AHB).
Hati hii inaelezea hatua zinazohitajika ili kuunda muundo wa Libero ambao huanzisha kidhibiti kiotomatiki cha DDR na vizuizi vya SERDESIF wakati wa kuwasha. Pia inaeleza jinsi ya kutengeneza msimbo wa programu dhibiti kutoka kwa Libero SOC unaotumika katika mtiririko wa muundo uliopachikwa.
Maelezo ya kina ya nadharia ya shughuli hutolewa kwanza.
Sehemu inayofuata inaelezea jinsi ya kuunda muundo kama huo kwa kutumia Kijenzi cha Mfumo cha Libero SoC, zana yenye nguvu ya usanifu ambayo, miongoni mwa vipengele vingine, inakuundia suluhu ya 'kuanzisha' ikiwa unatumia vizuizi vya DDR au SERDESIF katika muundo wako.
Sehemu inayofuata inaeleza jinsi ya kuweka suluhu kamili ya 'kuanzisha' pamoja bila kutumia SmartFusion2 System Builder. Hii husaidia kueleza kile kinachohitajika kufanywa ikiwa hutaki kutumia Kijenzi cha Mfumo, na pia inaelezea kile zana ya Kijenzi cha Mfumo hukutengenezea. Sehemu hii inashughulikia:
- Uundaji wa data ya usanidi wa kidhibiti cha DDR na rejista za usanidi wa SERDESIF
- Uundaji wa mantiki ya FPGA inayohitajika kuhamisha data ya usanidi kwa rejista tofauti za usanidi wa ASIC.
Hatimaye tunaelezea yaliyotolewa fileinahusiana na:
- Uundaji wa suluhisho la 'kuanzisha' firmware.
- Uigaji wa muundo wa suluhisho la 'uanzishaji' wa DDR.
Kwa maelezo kuhusu kidhibiti cha DDR na rejista za usanidi za SERDESIF, rejelea Mwongozo wa Mtumiaji wa Violesura vya DDR vya Microsemi SmartFusion2.
Nadharia ya Uendeshaji
Suluhisho la uanzishaji wa Pembeni hutumia sehemu kuu zifuatazo:
- Chaguo za kukokotoa za CMSIS SystemInit(), ambazo hutumika kwenye Cortex-M3 na kuratibu mchakato wa uanzishaji.
- Msingi wa IP laini wa CoreConfigP, ambao huanzisha rejista za usanidi wa vifaa vya pembeni.
- Msingi wa IP laini wa CoreResetP, ambao unadhibiti mpangilio wa kuweka upya vidhibiti vya MSS, DDR, na vizuizi vya SERDESIF.
Mchakato wa uanzishaji wa pembeni hufanya kazi kama ifuatavyo:
- Baada ya kuweka upya, Cortex-M3 inaendesha kazi ya CMSIS SystemInit(). Chaguo hili la kukokotoa hutekelezwa kiotomatiki kabla ya kitendakazi kikuu() cha programu kutekelezwa.
Ishara ya matokeo ya CoreResetP MSS_HPMS_READY inathibitishwa mwanzoni mwa mchakato wa uanzishaji, ikionyesha kuwa MSS na vifaa vyote vya pembeni (isipokuwa MDDR) viko tayari kwa mawasiliano. - Chaguo za kukokotoa za SystemInit() huandika data ya usanidi kwa vidhibiti vya DDR na rejista za usanidi za SERDESIF kupitia basi la MSS FIC_2 APB3. Kiolesura hiki kimeunganishwa kwa msingi laini wa CoreConfigP uliowekwa kwenye kitambaa cha FPGA.
- Baada ya rejista zote kusanidiwa, kazi ya SystemInit() inaandika kwa rejista za udhibiti wa CoreConfigP ili kuonyesha kukamilika kwa awamu ya usanidi wa rejista; mawimbi ya matokeo ya CoreConfigP CONFIG1_DONE na CONIG2_DONE basi huthibitishwa.
Kuna awamu mbili za usanidi wa rejista (CONFIG1 na CONFIG2) kulingana na vifaa vya pembeni vilivyotumika katika muundo. - Ikiwa moja au zote mbili za MDDR/FDDR zinatumiwa, na hakuna vitalu vya SERDESIF vinavyotumiwa katika kubuni, kuna awamu moja tu ya usanidi wa rejista. Alama zote za towe za CoreConfigP CONFIG1_DONE na CONIG2_DONE zinathibitishwa moja baada ya nyingine bila kusubiri/kuchelewa.
Ikiwa kizuizi kimoja au zaidi cha SEDESIF katika hali isiyo ya PCIe kinatumiwa katika muundo, kuna awamu moja tu ya usanidi wa rejista. CONFIG1_DONE na CONIG2_DONE zinathibitishwa moja baada ya nyingine bila kusubiri/kuchelewa.
Ikiwa kizuizi kimoja au zaidi cha SEDESIF katika hali ya PCIe kinatumiwa katika kubuni, kuna awamu mbili za usanidi wa rejista. CONFIG1_DONE inathibitishwa baada ya awamu ya kwanza ya usanidi wa rejista kukamilika. Mfumo wa SERDESIF na rejista za njia zimesanidiwa katika awamu hii. Ikiwa SERDESIF itasanidiwa katika hali isiyo ya PCIE, mawimbi ya CONFIG2_DONE pia yanathibitishwa mara moja. - Awamu ya pili ya usanidi wa rejista basi inafuata (ikiwa SERDESIF imesanidiwa katika hali ya PCIE). Yafuatayo ni matukio mbalimbali yanayotokea katika awamu ya pili:
- CoreResetP huthibitisha PHY_RESET_N na CORE_RESET_N ishara zinazolingana na kila kizuizi cha SERDESIF kinachotumiwa. Pia hudai mawimbi ya kutoa SDIF_RELEASED baada ya vizuizi vyote vya SERDESIF kutoweka upya. Ishara hii ya SDIF_RELEASED inatumika kuashiria kwa CoreConfigP kwamba kiini cha SERDESIF hakijawekwa upya na kiko tayari kwa awamu ya pili ya usanidi wa rejista.
– Mara tu ishara ya SDIF_RELEASED inapothibitishwa, chaguo za kukokotoa za SystemInit() huanza kupiga kura kwa madai ya PMA_READY kwenye njia inayofaa ya SERDESIF. Pindi PMA_READY inapothibitishwa, seti ya pili ya rejista za SERDESIF (rejista za PCIE) husanidiwa/kuandikwa na chaguo za kukokotoa za SystemInit(). - Baada ya rejista zote za PCIE kusanidiwa, kitendakazi cha SystemInit() huandika kwa rejista za udhibiti za CoreConfigP ili kuonyesha kukamilika kwa awamu ya pili ya usanidi wa rejista; mawimbi ya towe ya CoreConfigP CONIG2_DONE basi inathibitishwa.
- Kando na madai/de-assertions ya ishara hapo juu, CoreResetP pia inasimamia uanzishaji wa vizuizi mbalimbali kwa kufanya kazi zifuatazo:
- Kutodai uwekaji upya wa msingi wa FDDR
- Kutodai SERDESIF huzuia PHY na uwekaji upya wa CORE
- Ufuatiliaji wa ishara ya kufuli ya FDDR PLL (FPLL). FPLL lazima iwe imefungwa ili kuhakikisha kuwa kiolesura cha data cha FDDR AXI/AHBLite na kitambaa cha FPGA kinaweza kuwasiliana kwa usahihi.
- Ufuatiliaji wa ishara za kufuli za SERDESIF block PLL (SPLL). SPLL lazima iwe imefungwa ili kuhakikisha kuwa SERDESIF inazuia kiolesura cha AXI/AHBLite (modi ya PCIe) au kiolesura cha XAUI kinaweza kuwasiliana ipasavyo na kitambaa cha FPGA.
- Inasubiri kumbukumbu za DDR za nje zitulie na kuwa tayari kufikiwa na vidhibiti vya DDR. - Wakati vifaa vyote vya pembeni vimekamilisha uanzishaji wao, CoreResetP hudai mawimbi ya INIT_DONE; sajili ya ndani ya CoreConfigP INIT_DONE inathibitishwa.
Ikiwa moja au zote mbili za MDDR/FDDR zinatumiwa, na muda wa kuanzisha DDR umefikiwa, mawimbi ya towe ya CoreResetP DDR_READY inathibitishwa. Uthibitishaji wa mawimbi haya DDR_READY unaweza kufuatiliwa kama dalili kwamba DDR (MDDR/FDDR) iko tayari kwa mawasiliano.
Ikiwa kizuizi kimoja au zaidi cha SERDESIF kinatumiwa, na awamu ya pili ya usanidi wa rejista imekamilika kwa mafanikio, mawimbi ya matokeo ya CoreResetP SDIF_READY inathibitishwa. Uthibitishaji wa mawimbi haya SDIF_READY unaweza kufuatiliwa kama dalili kwamba vizuizi vyote vya SERDESIF viko tayari kwa mawasiliano. - Chaguo la kukokotoa la SystemInit(), ambalo limekuwa likingoja INIT_DONE kuthibitishwa, likamilike, na kazi kuu ya() ya programu kutekelezwa. Wakati huo, vidhibiti vyote vya DDR vilivyotumika na vizuizi vya SERDESIF vimeanzishwa, na programu ya firmware na mantiki ya kitambaa cha FPGA inaweza kuwasiliana nao kwa uaminifu.
Mbinu iliyofafanuliwa katika hati hii inategemea Cortex-M3 kutekeleza mchakato wa uanzishaji kama sehemu ya msimbo wa uanzishaji wa mfumo unaotekelezwa kabla ya kazi kuu ()ya programu.
Tazama Chati za Mtiririko katika Mchoro 1-1, Mchoro 1-2 na Mchoro 1-3 kwa hatua za Uanzishaji wa FDDR/MDDR, SEREDES(modi isiyo ya PCIe) na SERDES (modi ya PCIe).
Kielelezo 1-4 kinaonyesha mchoro wa muda wa Uanzishaji wa Pembeni.
![]() |
![]() |
Mchoro 1-3 • Chati ya Uanzishaji wa Mtiririko wa SEDESIF (PCIe).
Utaratibu wa uanzishaji uliofafanuliwa katika hati hii unahitaji uendeshe Cortex-M3 wakati wa mchakato wa uanzishaji, hata kama huna mpango wa kutumia msimbo wowote kwenye Cortex-M3. Lazima uunde programu tumizi ya msingi ambayo haifanyi chochote (kitanzi rahisi, kwa mfanoample) na upakie inayoweza kutekelezwa katika Kumbukumbu Isiyo na Tete iliyopachikwa (eNVM) ili vidhibiti vya DDR na vizuizi vya SERDESIF vianzishwe wakati buti za Cortex-M3.
Kutumia Kiunda Mfumo Kuunda Usanifu Kwa Kutumia Vitalu vya DDR na SEDESIF
SmartFusion2 System Builder ni zana madhubuti ya kubuni ambayo hukusaidia kunasa mahitaji yako ya kiwango cha mfumo na kutoa muundo unaotekeleza mahitaji hayo. Kazi muhimu sana ya Kijenzi cha Mfumo ni uundaji wa kiotomatiki wa mfumo mdogo wa Uanzishaji wa Pembeni. "Kutumia SmartDesign Kuunda Usanifu Kwa Kutumia Vizuizi vya DDR na SERDESIF" kwenye ukurasa wa 17 inaeleza kwa kina jinsi ya kuunda suluhisho kama hilo bila Kiunda Mfumo.
Ikiwa unatumia Kijenzi cha Mfumo, lazima utekeleze kazi zifuatazo ili kuunda muundo unaoanzisha vidhibiti vyako vya DDR na vizuizi vya SERDESIF wakati wa kuwasha:
- Katika ukurasa wa Vipengele vya Kifaa (Mchoro 2-1), taja ni vidhibiti vipi vya DDR vinavyotumika na ni vizuizi vingapi vya SEDESIF vinavyotumika katika muundo wako.
- Katika ukurasa wa Kumbukumbu, taja aina ya DDR (DDR2/DDR3/LPDDR) na data ya usanidi wa kumbukumbu zako za nje za DDR. Tazama sehemu ya Ukurasa wa Kumbukumbu kwa maelezo.
- Katika ukurasa wa Pembeni, ongeza viunzi vya kitambaa vilivyosanidiwa kama AHBLite/AXI kwenye Mfumo Mdogo wa DDR wa Fabric na/au Mfumo Mdogo wa MSS DDR FIC (si lazima).
- Katika ukurasa wa Mipangilio ya Saa, taja masafa ya saa kwa mifumo ndogo ya DDR.
- Kamilisha uainishaji wako wa muundo na ubofye Maliza. Hii hutoa muundo ulioundwa na Kiunda Mfumo, ikijumuisha mantiki muhimu kwa suluhisho la 'kuanzisha'.
- Ikiwa unatumia vizuizi vya SERDESIF, lazima uanzishe vizuizi vya SERDESIF katika muundo wako na uunganishe milango yao ya uanzishaji na zile za msingi zinazozalishwa na Kijenzi cha Mfumo.
Ukurasa wa Vipengele vya Kifaa cha Wajenzi wa Mfumo
Katika ukurasa wa Vipengele vya Kifaa, bainisha ni vidhibiti vipi vya DDR (MDDR na/au FDDR) vinatumika na ni vizuizi vingapi vya SERDESIF vinavyotumika katika muundo wako (Mchoro 2-1).
Kielelezo 2-1 • Ukurasa wa Vipengele vya Kifaa cha Kiunda Mfumo
Ukurasa wa Kumbukumbu wa Wajenzi wa Mfumo
Ili kutumia MSS DDR (MDDR) au Fabric DDR (FDDR), chagua Aina ya Kumbukumbu kutoka kwenye orodha kunjuzi (Mchoro 2-2).
Kielelezo 2-2 • Kumbukumbu ya Nje ya MSS
Lazima:
- Chagua aina ya DDR (DDR2, DDR3 au LPDDR).
- Bainisha muda wa kuweka kumbukumbu ya DDR. Angalia Vipimo vya Kumbukumbu ya DDR yako ya nje ili kuweka muda sahihi wa kuweka kumbukumbu. Kumbukumbu ya DDR inaweza kushindwa kuanzishwa kwa usahihi ikiwa muda wa utatuzi wa kumbukumbu haujawekwa ipasavyo.
- Ama ingiza data ya usanidi wa rejista ya DDR au uweke Vigezo vya Kumbukumbu ya DDR. Kwa maelezo, rejea Mwongozo wa Mtumiaji wa Violesura vya DDR vya Microsemi SmartFusion2.
Data hii inatumika kutengeneza rejista ya DDR BFM na usanidi wa programu dhibiti filekama ilivyofafanuliwa katika “Kuunda na Kutunga Programu ya Firmware” kwenye ukurasa wa 26 na “BFM FileInatumika kwa Kuiga Muundo” kwenye ukurasa wa 27. Kwa maelezo kuhusu rejista za usanidi wa kidhibiti cha DDR, rejelea Mwongozo wa Mtumiaji wa Violesura vya DDR vya Microsemi SmartFusion2.
Mzeeample ya usanidi file syntax imeonyeshwa kwenye Mchoro 2-3. Majina ya rejista yaliyotumika katika hii file ni sawa na zile zilizoelezwa katika Mwongozo wa Mtumiaji wa Violesura vya DDR vya Microsemi SmartFusion2
Kielelezo 2-3 • Usanidi File Sintaksia Example
Ukurasa wa Viunga vya Wajenzi wa Mfumo
Katika ukurasa wa Pembeni, kwa kila kidhibiti cha DDR mfumo mdogo tofauti huundwa (Mfumo wa Kitambaa DDR wa FDDR na Mfumo Mdogo wa MSS DDR FIC wa MDDR). Unaweza kuongeza msingi wa Fabric AMBA Master (imesanidiwa kama AXI/AHBLite) kwa kila moja ya mifumo hii midogo ili kuwezesha ufikiaji mkuu wa kitambaa kwa vidhibiti vya DDR. Baada ya kutengeneza, System Builder huanzisha kiotomatiki viambajengo vya basi (kulingana na aina ya AMBA Master iliyoongezwa) na kufichua BIF kuu ya msingi wa basi na saa na kuweka upya pini za mifumo ndogo inayolingana (FDDR/MDDR) chini ya vikundi vya pini vinavyofaa, kwenye juu. Unachohitajika kufanya ni kuunganisha BIF na alama za Fabric Master zinazofaa ambazo ungesisitiza katika muundo. Kwa upande wa MDDR, ni hiari kuongeza msingi wa Kitambaa AMBA kwenye Mfumo Mdogo wa MSS DDR FIC; Cortex-M3 ni bwana chaguo-msingi kwenye mfumo huu mdogo. Mchoro wa 2-4 unaonyesha Ukurasa wa Viungo vya Kuunda Mfumo.
Kielelezo 2-4 • Ukurasa wa Viunga vya Kuunda Mfumo
Ukurasa wa Mipangilio ya Saa ya Kiunda Mfumo
Katika ukurasa wa Mipangilio ya Saa, kwa kila kidhibiti cha DDR, lazima ueleze masafa ya saa yanayohusiana na kila mfumo mdogo wa DDR (MDDR na/au FDDR).
Kwa MDDR, lazima ubainishe:
- MDDR_CLK - Saa hii huamua mzunguko wa uendeshaji wa Kidhibiti cha DDR na inapaswa kufanana na mzunguko wa saa unayotaka kumbukumbu yako ya nje ya DDR iendeshe. Saa hii inafafanuliwa kama kizidishio cha M3_CLK (Cortex-M3 na Saa Kuu ya MSS, Mchoro 2-5). MDDR_CLK lazima iwe chini ya 333 MHz.
- DDR_FIC_CLK - Ikiwa umechagua pia kufikia MDDR kutoka kitambaa cha FPGA, unahitaji kutaja DDR_FIC_CLK. Masafa haya ya saa yanafafanuliwa kama uwiano wa MDDR_CLK na inapaswa kuendana na kasi ambayo mfumo mdogo wa kitambaa wa FPGA unaofikia MDDR unafanya kazi.
Kielelezo 2-5 • Cortex-M3 na MSS Saa Kuu; Saa za MDDR
Kwa FDDR, lazima ubainishe:
- FDDR_CLK - Huamua mzunguko wa uendeshaji wa Kidhibiti cha DDR na inapaswa kufanana na mzunguko wa saa ambayo ungependa kumbukumbu yako ya nje ya DDR iendeshe. Kumbuka kuwa saa hii inafafanuliwa kama kizidishio cha M3_CLK (saa ya MSS na Cortex-M3, Mchoro 2-5). FDDR_CLK lazima iwe ndani ya 20 MHz na 333 MHz.
- FDDR_SUBSYSTEM_CLK - Masafa ya saa hii yanafafanuliwa kuwa uwiano wa FDDR_CLK na inapaswa kuendana na kasi ambayo mfumo mdogo wa kitambaa wa FPGA unaofikia FDDR unafanya kazi.
Kielelezo 2-6 • Saa za DDR za kitambaa
Usanidi wa SEDESIF
Vitalu vya SERDESIF havijaimarishwa katika muundo uliotengenezwa na Kijenzi cha Mfumo. Hata hivyo, kwa vizuizi vyote vya SERDESIF, ishara za uanzishaji zinapatikana kwenye kiolesura cha msingi wa Kijenzi cha Mfumo na zinaweza kuunganishwa kwenye viini vya SERDESIF katika ngazi inayofuata ya uongozi, kama inavyoonyeshwa kwenye Mchoro 2-7.Kielelezo 2-7 • Muunganisho wa Uanzishaji wa Pembeni wa SEDESIF
Sawa na rejista za usanidi wa DDR, kila kizuizi cha SERDES pia kina rejista za usanidi ambazo lazima zipakiwe wakati wa utekelezaji. Unaweza kuleta thamani hizi za rejista au kutumia Kiolesura cha Kiolesura cha Kasi ya Juu (Mchoro 2-8) ili kuweka vigezo vya PCIe au EPCS yako na thamani za rejista zitakokotolewa kwa ajili yako kiotomatiki. Kwa maelezo, rejea Mwongozo wa Mtumiaji wa Kisanidi cha SERDES.Kielelezo 2-8 • Kisanidi cha Kiolesura cha Kasi ya Juu
Mara tu unapounganisha mantiki yako ya mtumiaji na kizuizi cha Kijenzi cha Mfumo na kizuizi cha SEDES, unaweza kutengeneza kiwango chako cha juu cha SmartDesign. Hii inazalisha HDL na BFM zote fileambayo ni muhimu kutekeleza na kuiga muundo wako. Kisha unaweza kuendelea na Mtiririko uliobaki wa Usanifu.
Kutumia SmartDesign Kuunda Muundo Kwa Kutumia Vitalu vya DDR na SEDESIF
Sehemu hii inaeleza jinsi ya kuweka suluhu kamili ya 'kuanzisha' pamoja bila kutumia SmartFusion2 System Builder. Lengo ni kukusaidia kuelewa unachopaswa kufanya ikiwa hutaki kutumia Kijenzi cha Mfumo. Sehemu hii pia inaelezea kile ambacho zana ya Kijenzi cha Mfumo hukutengenezea. Sehemu hii inaelezea jinsi ya:
- Ingiza data ya usanidi kwa kidhibiti cha DDR na rejista za usanidi za SERDESIF.
- Anzisha na uunganishe Mihimili ya Kitambaa inayohitajika ili kuhamisha data ya usanidi kwa vidhibiti vya DDR na rejista za usanidi wa SERDESIF.
Usanidi wa Kidhibiti cha DDR
Vidhibiti vya MSS DDR (MDDR) na Fabric DDR (FDDR) lazima visanidiwe kwa nguvu (wakati wa utekelezaji) ili kuendana na mahitaji ya usanidi wa kumbukumbu ya DDR ya nje (modi ya DDR, upana wa PHY, hali ya kupasuka, ECC, n.k.). Data iliyoingizwa katika kisanidi cha MDDR/FDDR imeandikwa kwa rejista za usanidi wa kidhibiti cha DDR na kitendakazi cha CMSIS SystemInit(). Kisanidi kina vichupo vitatu tofauti vya kuingiza aina tofauti za data ya usanidi:
- Data ya jumla (Modi ya DDR, Upana wa Data, Masafa ya Saa, ECC, Kiolesura cha kitambaa, Uthabiti wa Hifadhi)
- Data ya Uanzishaji wa Kumbukumbu (Urefu wa Kupasuka, Agizo la Kupasuka, Hali ya Muda, Muda wa Kuchelewa, n.k.)
- Data ya Muda wa Kumbukumbu
Rejelea vipimo vya kumbukumbu yako ya nje ya DDR na usanidi Kidhibiti cha DDR ili kulingana na mahitaji ya kumbukumbu yako ya nje ya DDR.
Kwa maelezo juu ya usanidi wa DDR, rejelea Mwongozo wa Mtumiaji wa Usanidi wa SmartFusion2 MSS DDR.
Usanidi wa SEDESIF
Bofya mara mbili kizuizi cha SERDES kwenye turubai ya SmartDesign ili kufungua Kisanidi ili kusanidi SERDES (Mchoro 3-1). Unaweza kuleta thamani hizi za rejista au kutumia kisanidi cha SEDES kuingiza vigezo vya PCIe au EPCS yako na thamani za rejista hiyo hukokotolewa kwa ajili yako kiotomatiki. Kwa maelezo, rejea Mwongozo wa Mtumiaji wa Kisanidi cha SERDES.Kielelezo 3-1 • Kisanidi cha Kiolesura cha Kasi ya Juu
Kuunda Mfumo Mdogo wa Uanzishaji wa Usanifu wa FPGA
Ili kuanzisha vizuizi vya DDR na SERDESIF, lazima uunde mfumo mdogo wa uanzishaji kwenye kitambaa cha FPGA. Mfumo mdogo wa uanzishaji wa kitambaa cha FPGA huhamisha data kutoka Cortex-M3 hadi DDR na rejista za usanidi za SERDESIF, hudhibiti mpangilio unaohitajika ili vizuizi hivi vifanye kazi na kutoa ishara wakati vizuizi hivi viko tayari kuwasiliana na muundo wako wote. Ili kuunda mfumo mdogo wa uanzishaji, lazima:
- Sanidi FIC_2 ndani ya MSS
- Sakinisha na usanidi CoreConfigP na CoreResetP cores
- Anzisha oscillata ya RC kwenye chip 25/50MHz
- Anzisha Uwekaji Upya wa Mfumo (SYSRESET) jumla
- Unganisha vipengee hivi kwa kila kiolesura cha usanidi wa pembeni, saa, kuweka upya na milango ya kufuli ya PLL.
Usanidi wa MSS FIC_2 APB
Ili kusanidi MSS FIC_2:
- Fungua kisanduku cha kidadisi cha FIC_2 kutoka kwa kisanidi cha MSS (Mchoro 3-2).
- Chagua Anzisha vifaa vya pembeni kwa kutumia Cortex-M3.
- Kulingana na mfumo wako, chagua kisanduku kimoja au vyote viwili kati ya vifuatavyo:
- MSS DDR
- Vitalu vya DDR na/au SEDES - Bofya Sawa na uendelee kuzalisha MSS (unaweza kuahirisha kitendo hiki hadi utakapokuwa umesanidi kikamilifu MSS kwa mahitaji yako ya muundo). Lango za FIC_2 (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK na FIC_2_APB_M_RESET_N) sasa zimefichuliwa kwenye kiolesura cha MSS na zinaweza kuunganishwa kwa CoreConfigP na CoreResetP.
Kielelezo 3-2 • Kisanidi cha MSS FIC_2
CoreConfigP
Ili kusanidi CoreConfigP:
- Anzisha CoreConfigP kwenye SmartDesign yako (kawaida ile ambayo MSS imeanzishwa).
Msingi huu unaweza kupatikana katika Katalogi ya Libero (chini ya Peripherals). - Bofya mara mbili msingi ili kufungua kisanidi.
- Sanidi msingi ili kubainisha ni viambajengo gani vinahitaji kuanzishwa (Mchoro 3-3)
Kielelezo 3-3 • Kisanduku cha Maongezi cha CoreConfigP
CoreResetP
Ili kusanidi CoreResetP:
- Anzisha CoreResetP kwenye SmartDesign yako (kawaida ile ambayo MSS imeanzishwa).
Msingi huu unaweza kupatikana katika Katalogi ya Libero, chini ya Pembeni. - Bofya mara mbili msingi ndani ya SmartDesign Canvas ili kufungua Configurator (Mchoro 3-4).
- Sanidi msingi kuwa:
- Bainisha tabia ya uwekaji upya wa nje (EXT_RESET_OUT imethibitishwa). Chagua moja ya chaguzi nne:
o EXT_RESET_OUT haijathibitishwa kamwe
o EXT_RESET_OUT inathibitishwa ikiwa kuwasha upya (POWER_ON_RESET_N) kunadaiwa
o EXT_RESET_OUT inathibitishwa ikiwa FAB_RESET_N inadaiwa
o EXT_RESET_OUT inathibitishwa ikiwa kuwasha upya (POWER_ON_RESET_N) au FAB_RESET_N kunadaiwa
- Bainisha Kifaa Voltage. Thamani iliyochaguliwa inapaswa kuendana na ujazotage ulichagua kwenye kisanduku cha mazungumzo cha Mipangilio ya Mradi wa Libero.
- Tia alama kwenye visanduku vya kuteua vinavyofaa ili kuashiria ni viambajengo gani unatumia katika muundo wako.
- Bainisha muda wa kuweka kumbukumbu ya DDR ya nje. Hii ndiyo thamani ya juu zaidi kwa kumbukumbu zote za DDR zinazotumiwa katika programu yako (MDDR na FDDR). Rejelea hifadhidata ya muuzaji wa kumbukumbu ya DDR ya nje ili kusanidi kigezo hiki. 200us ni thamani chaguo-msingi nzuri kwa kumbukumbu za DDR2 na DDR3 zinazoendesha 200MHz. Hii ni parameter muhimu sana ili kuhakikisha simulation ya kazi na mfumo wa kufanya kazi kwenye silicon. Thamani isiyo sahihi kwa wakati wa kusuluhisha inaweza kusababisha makosa ya uigaji. Rejelea hifadhidata ya muuzaji wa kumbukumbu ya DDR ili kusanidi kigezo hiki.
- Kwa kila kizuizi cha SERDES katika muundo wako, chagua visanduku vinavyofaa ili kuonyesha kama:
o PCIe inatumika
o Usaidizi wa Kuweka upya Moto wa PCIe unahitajika
o Usaidizi wa PCIe L2/P2 unahitajika
Kumbuka: Ikiwa unatumia 090 die(M2S090) na muundo wako unatumia SEDESIF, si lazima uteue kisanduku chochote kati ya zifuatazo: 'Inatumika kwa PCIe', 'Jumuisha usaidizi wa PCIe HotReset' na 'Jumuisha usaidizi wa PCIe L2/P2'. Iwapo unatumia kifaa chochote kisicho cha 090 na unatumia kizuizi kimoja au zaidi cha SEDESIF, inabidi uteue visanduku vyote vinne vya kuteua chini ya sehemu inayofaa ya SEDESIF.
Kumbuka: Kwa maelezo juu ya chaguzi zinazopatikana kwako katika kisanidi hiki, rejelea Kitabu cha Miongozo cha CoreResetP.
Kielelezo 3-4 • CoreResetPCConfigurator
25/50MHz Oscillator Instantition
CoreConfigP na CoreResetP huwashwa na kisisitizo cha RC cha 25/50MHz. Lazima uanzishe Kiosilata cha 25/50MHz na uiunganishe kwa core hizi.
- Anzisha msingi wa Chip Oscillators kwenye SmartDesign yako (kawaida ile ambayo MSS imeanzishwa). Msingi huu unaweza kupatikana katika Katalogi ya Libero chini ya Saa na Usimamizi.
- Sanidi msingi huu ili kisisitizi cha RC kiendeshe kitambaa cha FPGA, kama inavyoonyeshwa kwenye Mchoro 3-5.
Kielelezo 3-5 • Kisanidi cha Oscillators za Chip
Uwekaji Upya wa Mfumo (SYSRESET) Instantiation
Jumla ya SYSRESET hutoa utendakazi wa kuweka upya kiwango cha kifaa kwenye muundo wako. Mawimbi ya pato ya POWER_ON_RESET_N hutambulishwa/haikubaliki kila wakati chipu inapowashwa au pini ya nje DEVRST_N inapothibitishwa/kutothibitishwa (Mchoro 3-6).
Sakinisha jumla ya SYSRESET kwenye SmartDesign yako (kawaida ile ambayo MSS imeanzishwa). Jumla hii inaweza kupatikana katika Katalogi ya Libero chini ya Maktaba ya Macro. Hakuna usanidi wa jumla huu ni muhimu.
Kielelezo 3-6 • SYSRESET Macro
Muunganisho wa Jumla
Baada ya kusakinisha na kusanidi viini vya MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP na CoreResetP katika muundo wako, unahitaji kuziunganisha ili kuunda mfumo mdogo wa Uanzishaji wa Pembeni. Ili kurahisisha maelezo ya muunganisho katika hati hii, imegawanywa katika muunganisho wa data ya usanidi unaotii APB3 unaohusishwa na CoreConfigP na miunganisho inayohusiana ya CoreResetP.
Muunganisho wa Njia ya Data ya Usanidi
Kielelezo 3-7 kinaonyesha jinsi ya kuunganisha CoreConfigP kwa mawimbi ya MSS FIC_2 na violesura vya usanidi vinavyotii APB3 vya pembeni.
Jedwali 3-1 • Usanidi wa Njia ya Data ya Bandari/Viunganisho vya BIF
KUTOKA Kiolesura cha Bandari/Basi (BIF)/ Sehemu |
KWA Kiolesura cha Bandari/Basi (BIF)/Kipengele |
||
APB S PRESET N/ CoreConfigP | APB S IMEWEKA TAREHE N/ SDIF<0/1/2/3> | APB S IMEWEKA TENA N/ FDDR |
MDDR APB S PRESE TN/MSS |
APB S PCLK/ CoreConfigP | APB S PCLK/SDIF | APB S PCLK/FDDR | MDDR APB S POLK/ MSS |
MDDR APBmslave/ CoreConfig | MDDR APB SLAVE (BIF)/MSS | ||
SDIF<0/1/2/ 3> APBmtumwa/Config | APB SLAVE (BIF)/ SDIF<0/1/2/3> | ||
FDDR APBmtumwa | APB SLAVE (BIF)/ FDDR | ||
FIC 2 APBmmaster/ CoreConfigP | FIC 2 APB MASTER/ MSS |
Kielelezo 3-7 • FIC_2 Muunganisho wa Mfumo Ndogo wa APB3
Saa na Huweka Upya Muunganisho
Mchoro wa 3-8 unaonyesha jinsi ya kuunganisha CoreResetP kwa vyanzo vya nje vya kuweka upya na mawimbi ya msingi ya uwekaji upya wa vifaa vya pembeni. Inaonyesha pia jinsi ya kuunganisha CoreResetP kwa ishara za hali ya ulandanishi wa saa za pembeni (ishara za kufuli za PLL). Kwa kuongeza, inaonyesha jinsi CoreConfigP na CoreResetP zimeunganishwa.
Kielelezo 3-8 • Msingi SF2Weka upya Muunganisho wa Mfumo Ndogo
Kuunda na Kukusanya Programu ya Firmware
Unaposafirisha programu-jalizi kutoka kwa LiberoSoC (Dirisha la Mtiririko wa Muundo> Firmware ya Kusafirisha nje> Firmware ya Hamisha), Libero hutoa zifuatazo. files katika /firmware/drivers_config/ sys_config folda:
- sys_config.c - Ina miundo ya data ambayo inashikilia maadili ya rejista za pembeni.
- sys_config.h - Ina #define kauli zinazobainisha ni viambajengo gani vinatumika katika muundo na vinahitaji kuanzishwa.
- sys_config_mddr_define.h - Ina data ya usanidi wa kidhibiti cha MDDR iliyoingizwa kwenye kisanduku cha mazungumzo cha Usanidi wa Rejesta.
- sys_config_fddr_define.h - Ina data ya usanidi wa kidhibiti cha FDDR iliyoingizwa kwenye kisanduku cha mazungumzo cha Usanidi wa Rejesta.
- sys_config_mss_clocks.h -Hii file ina masafa ya saa ya MSS kama inavyofafanuliwa katika kisanidi cha MSS CCC. Masafa haya hutumiwa na msimbo wa CMSIS kutoa taarifa sahihi ya saa kwa viendeshaji vingi vya MSS ambavyo lazima vifikie masafa ya Saa ya Pembeni (PCLK) (km, vigawanyiko vya kiwango cha upara wa MSS UART ni kazi ya kasi ya uvujaji na masafa ya PCLK. )
- sys_config_SERDESIF_ .c - Ina SEDESIF_ sajili data ya usanidi iliyotolewa wakati wa SEDDESIF_ usanidi wa kuzuia katika uundaji wa muundo.
- sys_config_SERDESIF_ .h - Ina #fafanua taarifa zinazobainisha idadi ya jozi za usanidi wa rejista na nambari ya njia ambayo inahitaji kupigiwa kura kwa PMA_READY (katika hali ya PCIe pekee).
Haya filezinahitajika ili msimbo wa CMSIS ukusanye vizuri na kuwa na taarifa kuhusu muundo wako wa sasa, ikijumuisha data ya usanidi wa pembeni na maelezo ya usanidi wa saa ya MSS.
Usihariri haya files kwa mikono; huundwa kwa vijenzi/saraka za pembeni zinazolingana kila wakati vijenzi vya SmartDesign vilivyo na viambajengo husika vinapotolewa. Ikiwa mabadiliko yoyote yanafanywa kwa data ya usanidi wa kifaa chochote cha pembeni, unahitaji kusafirisha tena miradi ya firmware ili programu dhibiti iliyosasishwa. files (tazama orodha hapo juu) zinasafirishwa kwa faili ya / folda ya firmware/drivers_config/sys_config.
Unaposafirisha programu dhibiti, Libero SoC huunda miradi ya programu dhibiti: maktaba ambapo usanidi wako wa muundo files na madereva ni compiled.
Ukiangalia Unda mradi kisanduku cha kuteua unaposafirisha programu dhibiti, mradi wa programu ya SoftConsole/IAR/Keil unaundwa ili kushikilia mradi wa programu ambapo unaweza kuhariri main.c na mtumiaji C/H files. Fungua mradi wa SoftConSole/IAR/Keil ili kukusanya msimbo wa CMSIS kwa usahihi na uweke programu yako ya programu dhibiti isanidiwe ipasavyo ili kuendana na muundo wako wa maunzi.
BFM FileInatumika kwa Kuiga Usanifu
Unapotengeneza vijenzi vya SmartDesign vilivyo na vifaa vya pembeni vinavyohusishwa na muundo wako, uigaji files sambamba na peripherals husika ni kuzalisha katika / saraka ya uigaji:
- mtihani.bfm - BFM ya kiwango cha juu file ambayo hutekelezwa kwa mara ya kwanza wakati wa uigaji wowote unaotumia kichakataji cha SmartFusion2 MSS Cortex-M3. Inatekeleza peripheral_init.bfm na user.bfm, kwa mpangilio huo.
- MDDR_init.bfm - Ikiwa muundo wako unatumia MDDR, Libero hutoa hii file; ina amri za uandishi za BFM zinazoiga maandishi ya data ya rejista ya usanidi ya MSS DDR uliyoweka (kwa kutumia kisanduku cha mazungumzo cha Sajili za Hariri au katika MSS_MDDR GUI) kwenye rejista za Kidhibiti cha MSS DDR.
- FDDR_init.bfm - Ikiwa muundo wako unatumia FDDR, Libero hutoa hii file; ina amri za uandishi za BFM zinazoiga maandishi ya data ya rejista ya usanidi wa Kitambaa DDR uliyoweka (kwa kutumia kisanduku cha mazungumzo cha Sajili za Kuhariri au katika FDDR GUI) kwenye rejista za Kidhibiti cha Kitambaa cha DDR.
- SEDESIF_ _init.bfm - Ikiwa muundo wako unatumia kizuizi kimoja au zaidi cha SEDESIF, Libero hutoa hii file kwa kila SEARDESIF_ vitalu vilivyotumika; ina amri za uandishi za BFM zinazoiga uandishi wa data ya rejista ya usanidi ya SERDESIF uliyoingiza (kwa kutumia kisanduku cha mazungumzo cha Sajili za Hariri au katika SEDESIF_ GUI) kwenye SEDESIF_ madaftari. Ikiwa kizuizi cha SERDESIF kimesanidiwa kama PCIe, hii file pia ina baadhi ya taarifa za #define zinazodhibiti utekelezaji wa awamu 2 za usanidi wa rejista kwa mpangilio kamili.
- mtumiaji.bfm - Ina amri za mtumiaji. Amri hizi hutekelezwa baada ya peripheral_init.bfm kukamilika. Hariri hii file kuingiza amri zako za BFM.
- SEDESIF_ _mtumiaji.bfm - Ina amri za mtumiaji. Hariri hii file kuingiza amri zako za BFM. Tumia hii ikiwa umesanidi SEDESIF_ zuia katika modi ya kuiga ya BFM PCIe na kama bwana wa AXI/AHBLite. Ikiwa umesanidi SERDESIF_ zuia katika hali ya kuiga ya RTL, hautahitaji hii file.
Unapoomba uigaji kila wakati, simulizi mbili zifuatazo files zinaundwa upya kwa / saraka ya uigaji na yaliyomo yaliyosasishwa:
- mfumo mdogo.bfm – Ina #define kauli kwa kila pembeni kutumika katika muundo wako, ambayo hubainisha sehemu mahususi ya peripheral_init.bfm kutekelezwa sambamba na kila pembeni.
- operipheral_init.bfm – Ina utaratibu wa BFM ambao huiga kitendakazi cha CMSIS:: SystemInit() kinachoendeshwa kwenye Cortex-M3 kabla ya kuingiza utaratibu mkuu(). Hunakili data ya usanidi ya kifaa chochote cha pembeni kilichotumiwa katika muundo hadi rejista sahihi za usanidi wa pembeni na kisha kusubiri vifaa vyote vya pembeni kuwa tayari kabla ya kudai kuwa unaweza kutumia viambajengo hivi. Inatekeleza MDDR_init.bfm na FDDR_init.bfm.
Kwa kutumia hizi zinazozalishwa files, vidhibiti vya DDR katika muundo wako husanidiwa kiotomatiki, kuiga kitakachotokea kwenye kifaa cha SmartFusion2. Unaweza kuhariri user.bfm file ili kuongeza amri zozote zinazohitajika kuiga muundo wako (Cortex-M3 ndiye bwana). Amri hizi hutekelezwa baada ya viambajengo kuanzishwa. Usihariri test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files na SEDESIF_ _init.bfm files.
Msaada wa Bidhaa
Kikundi cha Bidhaa za Microsemi SoC kinarudisha bidhaa zake na huduma mbali mbali za usaidizi, pamoja na Huduma kwa Wateja, Kituo cha Msaada wa Kiufundi kwa Wateja, a. webtovuti, barua pepe, na ofisi za mauzo duniani kote.
Kiambatisho hiki kina maelezo kuhusu kuwasiliana na Microsemi SoC Products Group na kutumia huduma hizi za usaidizi.
Huduma kwa Wateja
Wasiliana na Huduma kwa Wateja ili upate usaidizi wa bidhaa zisizo za kiufundi, kama vile bei ya bidhaa, uboreshaji wa bidhaa, taarifa za sasisho, hali ya agizo na uidhinishaji.
Kutoka Amerika Kaskazini, piga simu 800.262.1060
Kutoka kwa ulimwengu wote, piga simu 650.318.4460
Faksi, kutoka popote duniani, 408.643.6913
Kituo cha Usaidizi wa Kiufundi kwa Wateja
Kikundi cha Bidhaa za Microsemi SoC hushughulikia Kituo chake cha Usaidizi wa Kiufundi kwa Wateja chenye wahandisi wenye ujuzi wa juu ambao wanaweza kukusaidia kujibu maunzi yako, programu, na maswali ya kubuni kuhusu Bidhaa za Microsemi SoC. Kituo cha Usaidizi wa Kiufundi kwa Wateja hutumia muda mwingi kuunda madokezo ya maombi, majibu kwa maswali ya kawaida ya mzunguko wa muundo, uwekaji kumbukumbu wa masuala yanayojulikana, na Maswali Yanayoulizwa Mara kwa Mara mbalimbali. Kwa hivyo, kabla ya kuwasiliana nasi, tafadhali tembelea rasilimali zetu za mtandaoni. Kuna uwezekano mkubwa tumejibu maswali yako.
Msaada wa Kiufundi
Tembelea Usaidizi kwa Wateja webtovuti (www.microsemi.com/soc/support/search/default.aspx) kwa habari zaidi na usaidizi. Majibu mengi yanapatikana kwenye inayoweza kutafutwa web rasilimali ni pamoja na michoro, vielelezo, na viungo kwa rasilimali nyingine kwenye webtovuti.
Webtovuti
Unaweza kuvinjari taarifa mbalimbali za kiufundi na zisizo za kiufundi kwenye ukurasa wa nyumbani wa SoC, saa www.microsemi.com/soc.
Kuwasiliana na Kituo cha Usaidizi wa Kiufundi kwa Wateja
Wahandisi wenye ujuzi wa juu wanafanya kazi katika Kituo cha Usaidizi wa Kiufundi. Kituo cha Usaidizi wa Kiufundi kinaweza kupatikana kwa barua pepe au kupitia Kikundi cha Bidhaa za Microsemi SoC webtovuti.
Barua pepe
Unaweza kuwasiliana na maswali yako ya kiufundi kwa anwani yetu ya barua pepe na kupokea majibu kupitia barua pepe, faksi au simu. Pia, ikiwa una matatizo ya kubuni, unaweza kutuma barua pepe ya muundo wako files kupokea msaada.
Tunafuatilia akaunti ya barua pepe kila wakati siku nzima. Unapotuma ombi lako kwetu, tafadhali hakikisha kuwa umejumuisha jina lako kamili, jina la kampuni, na maelezo yako ya mawasiliano kwa uchakataji mzuri wa ombi lako.
Barua pepe ya usaidizi wa kiufundi ni soc_tech@microsemi.com.
Kesi Zangu
Wateja wa Kikundi cha Bidhaa za Microsemi SoC wanaweza kuwasilisha na kufuatilia kesi za kiufundi mtandaoni kwa kwenda Kesi Zangu.
Nje ya Marekani
Wateja wanaohitaji usaidizi nje ya saa za kanda za Marekani wanaweza kuwasiliana na usaidizi wa kiufundi kupitia barua pepe (soc_tech@microsemi.com) au wasiliana na ofisi ya mauzo ya eneo lako. Orodha za ofisi za mauzo zinaweza kupatikana www.microsemi.com/soc/company/contact/default.aspx.
Msaada wa Kiufundi wa ITAR
Kwa usaidizi wa kiufundi kuhusu RH na RT FPGAs ambazo zinadhibitiwa na Kanuni za Kimataifa za Trafiki katika Silaha (ITAR), wasiliana nasi kupitia soc_tech_itar@microsemi.com. Vinginevyo, ndani ya Kesi Zangu, chagua Ndiyo katika orodha kunjuzi ya ITAR. Kwa orodha kamili ya FPGA za Microsemi zinazodhibitiwa na ITAR, tembelea ITAR web ukurasa.
Microsemi Corporation (NASDAQ: MSCC) inatoa kwingineko pana ya suluhisho za semiconductor kwa: anga, ulinzi na usalama; biashara na mawasiliano; na masoko ya viwanda na nishati mbadala. Bidhaa zinajumuisha utendakazi wa hali ya juu, analogi za kutegemewa kwa juu na vifaa vya RF, mawimbi mchanganyiko na saketi zilizounganishwa za RF, SoCs zinazoweza kugeuzwa kukufaa, FPGA na mifumo ndogo kamili. Microsemi ina makao yake makuu huko Aliso Viejo, Calif. Pata maelezo zaidi katika www.microsemi.com.
© 2014 Microsemi Corporation. Haki zote zimehifadhiwa. Microsemi na nembo ya Microsemi ni alama za biashara za Microsemi Corporation. Alama zingine zote za biashara na alama za huduma ni mali ya wamiliki husika.
5-02-00384-1/08.14Makao Makuu ya Kampuni ya Microsemi
One Enterprise, Aliso Viejo CA 92656 USA
Ndani ya Marekani: +1 949-380-6100
Mauzo: +1 949-380-6136
Faksi: +1 949-215-4996
Nyaraka / Rasilimali
![]() |
Kidhibiti cha Microsemi SmartFusion2 DDR na Kidhibiti cha Kasi ya Juu cha Serial [pdf] Mwongozo wa Mtumiaji SmartFusion2 DDR Controller na Serial High Speed Controller, SmartFusion2 DDR, Controller and Serial High Speed Controller, High Speed Controller |