當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件

  1 引言

  ARCNET協(xié)議應(yīng)用于高速動車組列車通信網(wǎng)絡(luò)時,產(chǎn)生中央控制單元處理器PXA270與專用協(xié)議控制器件COM20020相連的時序不匹配問題,若用通用數(shù)字電路模塊進行時序轉(zhuǎn)換,PXA270需占用PXA270專門的資源(CPU時間片)對 COM20020的寄存器、數(shù)據(jù)包緩沖區(qū)進行低速讀寫訪問(對COM20020的相鄰兩次讀操作相隔至少300 ns),這樣將增加處理器的負(fù)擔(dān)。基于這種現(xiàn)狀,提出一種基于FPGA的PXA270外設(shè)時序轉(zhuǎn)換接口設(shè)計方案,以FPGA為橋梁進行時序轉(zhuǎn)換,并增加存儲器直接訪問DMA(Direct Memory Aeeess)功能,即FPGA自動完成數(shù)據(jù)包的收發(fā)工作,PXA270則只需高速讀寫訪問FPGA中的同步雙口RAM。

  2 時序轉(zhuǎn)換接口整體設(shè)計

  2.1 FPGA對外接白

  采用FPGA連接PXA270處理器與外設(shè)以解決PXA270處理器與外設(shè)直接連接時的時序不匹配問題。如圖1所示,F(xiàn)PGA從PXA270處理器獲得地址總線(ADDRBUS[17..14], ADDRBUS[9..0]),片選信號(SYSCS5),讀允許(SYSOE),寫允許(SYSWE),并提供雙向數(shù)據(jù)端口DATABUS[7..0] (可根據(jù)實際應(yīng)用修改為32位或16位等),中斷(interrupt);同時,F(xiàn)PGA向COM20020提供特定的總線接口,包括 COM20020_DS,COM20020_CS,COM20020_DIR,COM20020_DATABUS [7..0],COM20020_ADDRBUS[2..0]等。

  2.2 內(nèi)部功能實現(xiàn)

  PXA270和外設(shè)之間的連接是將FPGA中的雙口RAM作為數(shù)據(jù)中轉(zhuǎn)站,以此間接相連。該設(shè)計由以下4個功能模塊組成。

  (1)PXA270對外設(shè)指定寄存器單次寫操作PXA270先將所要寫的數(shù)據(jù)送人雙口RAM,然后PXA270向FPGA的命令寄存器寫入對該外設(shè)指定寄存器的單次寫指令,然后FP-GA根據(jù)接收到的命令將RAM中的數(shù)據(jù)輸出到外設(shè)數(shù)據(jù)總線,同時給出對外設(shè)的寫時序。

  (2)PXA270對外設(shè)指定寄存器單次讀操作PXA270先向FPGA的命令寄存器寫入對該外設(shè)指定寄存器的單次讀指令,此時,F(xiàn)PGA給出對外設(shè)的讀時序,并驅(qū)動RAM的地址總線、寫時鐘等信號,將外設(shè)數(shù)據(jù)總線上的數(shù)據(jù)傳送到RAM中。再延時1μs,PXA270從RAM中讀出數(shù)據(jù)。

  (3)PXA270對外設(shè)批數(shù)據(jù)寫操作與單次寫操作不同的是,PXA270需先將所要寫入的數(shù)據(jù)存儲到RAM的連續(xù)空間,然后向FPGA的命令寄存器寫入批數(shù)據(jù)寫操作指令,F(xiàn)P-GA根據(jù)接收到的命令將RAM中的數(shù)據(jù)分次送至外設(shè)數(shù)據(jù)總線,且需保證向COM20020的寫時序與之同步。

  (4)PXA270對外設(shè)批數(shù)據(jù)讀操作 由FPGA給出對外設(shè)的連續(xù)多次讀時序?qū)⑼庠O(shè)中的數(shù)據(jù)送人RAM,完成存儲工作。PXA270等待批數(shù)據(jù)讀完成中斷發(fā)生后對RAM進行連續(xù)讀。

  3 功能模塊設(shè)計

  3.1 時序發(fā)生模塊設(shè)計

  COM20020有80xx-like和68xx-like兩種總線訪問方式。這里中實現(xiàn)68xx-like訪問方式,圖2為其讀寫訪問時序。

  讀寫時序的共同要求為:片選信號CS必須先于DS至少5 ns,并且只允許在DS無效之后CS才能恢復(fù)為高電平;讀寫方向信號DIR應(yīng)在DS有效前至少10 ns建立;DS高電平寬度不小于20 ns。兩者的不同要求:寫時序的地址總線先于操作脈沖DS至少15 ns建立,DS低電平不小于20 ns,數(shù)據(jù)總線有效數(shù)據(jù)必須在DS變高之前至少30 ns建立,保持至DS變高后至少10 ns;而讀時序的地址總線先于片選信號至少15 ns建立,DS低電平不小于60 ns,DS變低到數(shù)據(jù)總線數(shù)據(jù)有效的間隔最大為40 ns,DS變高到數(shù)據(jù)總線高阻抗的間隔最大為20 ns,這是COM20020作為數(shù)據(jù)輸出方給訪問設(shè)備提供的特性。針對以上讀寫時序的要求,具體設(shè)計如下:DIR在一次操作中只有高或低電平一種可能,通過命令寄存器在操作前事先給出,而后給出使能信號,DS在CS有效之后變低,而在CS無效之前變高,以便數(shù)據(jù)可靠鎖存。

  圖3為COM20020的時序原理圖,從時序分析可得出如下設(shè)計方案:DIR用于指示操作是讀還是寫,DIR=‘1’為讀,否則為寫。在操作前先對DIR 賦值;在EN有效時選擇CS,CLK的下一次上升沿變?yōu)橛行?。這樣是給寫操作對COM20020數(shù)據(jù)總線準(zhǔn)備數(shù)據(jù)之用,不影響讀操作;DS選擇在CS有效的下一個CLK上升沿變?yōu)橛行?,但在CS無效前兩個時鐘周期給出上升沿,以滿足“片選信號CS必須先于DS至少5 ns,并且只能在DS無效之后恢復(fù)為高電平”,并且DS中間應(yīng)有至少60ns的時鐘寬度,因而保持3個CLK周期有效。圖4為CommandGenerator時序仿真圖。采用計數(shù)器進行時序同步。以下給出VHDL源代碼。

圖5為批數(shù)據(jù)從WRRAM向外設(shè)傳送的連續(xù)時鐘產(chǎn)生和自動地址生成原理圖。其中,lpm_counter0為帶有異步清零和進位信號的增計數(shù); AutoAccessDataNumsOnce在EN='1'時,產(chǎn)生一次批傳送時鐘,根據(jù)COM20020的長短數(shù)據(jù)包傳送要求,在CCESSTYPE =‘1’時傳送長數(shù)據(jù)包(512 B),否則傳送短數(shù)據(jù)包(256 B)。FRE信號同時提供WRRAM的rdclock和lpm_counter0的clock信號。

圖6為一次批數(shù)據(jù)向RAM中寫,而后啟動DMA傳輸,將數(shù)據(jù)從RAM送至COM20020的時序仿真。在WRCLOCK上升沿時,RAM將datain總線上的數(shù)據(jù)存儲到WR_AD-DRESS所指向的字節(jié)地址空間,WRCLOCK信號是由PXA270的WE信號與分配給RAM的片選信號(高電平有效)相與而得。對RAM進行模擬寫時必須確保AUTOWREN無效(低電平);在檢驗數(shù)據(jù)DMA傳輸?shù)腞AM輸出環(huán)節(jié),WRCLOCK應(yīng)不再出現(xiàn)上升沿信號,以防RAM同時讀寫造成輸出不定值。此外,每個數(shù)據(jù)從outputdata端口輸出時,CS、DS在一定延時后(1個CLK時鐘周期)給時序產(chǎn)生留足夠時間。需說明:COM20020內(nèi)部有2 K字節(jié)的RAM空間,用于存放待發(fā)送或已接收的數(shù)據(jù)包,在向RAM中寫數(shù)據(jù)包前,指定該數(shù)據(jù)包的存放位置,然后將COM20020中的指針自動移動位置 1,則只需連續(xù)的向該RAM中寫數(shù)據(jù),而不必給出地址信號。
3.3 對外設(shè)指定寄存器操作
對外設(shè)指定寄存器操作比批數(shù)據(jù)傳送實現(xiàn)簡單,只需將操作次數(shù)降為1次,并對 COM20020的A2~A0提供相應(yīng)的地址即可。指定寄存器操作將數(shù)據(jù)存儲在RAM的高512字節(jié)空間,并且只占用其中低8個字節(jié),在PXA270編程時,需確保PXA270送入RAM的地址與命令寄存器中的RAM存儲地址COMMANDBYTE[2..0]相對應(yīng)。

4 結(jié)論
本設(shè)計解決ARCNET協(xié)議專用器件應(yīng)用于列車通信網(wǎng)絡(luò)中的時序匹配問題,實現(xiàn)了PXA270處理器與COM20020的時序轉(zhuǎn)換。此外,對擴展其他總線訪問類型提供了參考框架,可通過修改CommandGenerator中COM20020時序,實現(xiàn)不同外設(shè)總線訪問類型的擴展;修改 AutoAccessDataNun-sOnce中的ACCESSTYPE,可配置批數(shù)據(jù)操作的數(shù)據(jù)種類。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉