《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種基于FPGA的PXA270外設時序轉換接口設計
一種基于FPGA的PXA270外設時序轉換接口設計
國外電子元器件
王青元,吳培棟,李云峰 西南交通大學
摘要: 本設計解決ARCNET協議專用器件應用于列車通信網絡中的時序匹配問題,實現了PXA270處理器與COM20020的時序轉換。此外,對擴展其他總線訪問類型提供了參考框架,可通過修改CommandGenerator中COM20020時序,實現不同外設總線訪問類型的擴展;修改 AutoAccessDataNun-sOnce中的ACCESSTYPE,可配置批數據操作的數據種類。
關鍵詞: FPGA PXA270
Abstract:
Key words :

  1 引言

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

  2 時序轉換接口整體設計

  2.1 FPGA對外接白

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

 

  2.2 內部功能實現

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

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

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

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

  (4)PXA270對外設批數據讀操作 由FPGA給出對外設的連續多次讀時序將外設中的數據送人RAM,完成存儲工作。PXA270等待批數據讀完成中斷發生后對RAM進行連續讀。

  3 功能模塊設計

  3.1 時序發生模塊設計

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

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

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

 

 

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

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

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

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日本亚洲欧美在线 | 天天综合色网 | 天天摸天天射 | 波多野结中文字幕在线69视频 | 天天干天天干天天干天天 | 六月丁香在线观看 | 日韩性freexxxx在线观看 | 黄色国产在线观看 | 久久a 热6 | 国产三级第一页 | 国产视频一区在线播放 | 亚洲视频在线观 | 国产精品二区三区免费播放心 | 免费精品国产日韩热久久 | 性亚洲 | 欧美人与动欧交视频 | 亚洲黄色三级 | 精品欧美成人高清视频在线观看 | 日本高清va不卡视频在线观看 | 最近中文字幕大全免费版在线 | bl高h肉边走边做 | 在线欧美日韩国产 | 亚洲区精品久久一区二区三区 | 毛片午夜 | 韩国xxxx色视频在线观看免费 | 天天草综合网 | avav亚洲| 亚洲黄色片视频 | 午夜视频在线观看国产www | 黄色网址在线看 | 欧美成人高清乱码 | 成人啪精品视频免费网站 | 人人爽人人爱 | 欧美日韩一本大道香蕉欧美 | 日韩欧美精品在线视频 | 国产成人精品日本亚洲18图 | 国产一级特黄高清在线大片 | 久久综合丁香激情久久 | 在线看片黄| 国产级a爱做片免费观看 | 很黄很色又爽很黄很色又爽 |