數字拷貝機的FPGA設計
1.2.2 數據拷貝期的DMA數據傳輸模塊
本文引用地址:http://dyxdggzs.com/article/85404.htm在這個(gè)模塊中,主要由FPGA構成的一個(gè)DMA控制器控制IDE/ATA設備與拷貝機內存之間的數據交換。選用的FPGA為SpartanTM-3E 系列器件,它是開(kāi)創(chuàng )性的低成本Spartan系列的第7類(lèi)器件,也是采用先進(jìn)的90nm工藝技術(shù)生產(chǎn)的第三類(lèi)Xilinx器件系列。 Spartan-3E FPGA有高達160萬(wàn)的系統門(mén)、376個(gè)I/O、1.8MB的塊RAM,并且具有業(yè)界單位邏輯成本最低的通用平臺FPGA架構。FPGA所實(shí)現DMAC 控制器的內部邏輯結構如圖3所示。
DMA控制器提供地址碼以指明I/O設備變換數據的存儲器起始地址;提供讀/寫(xiě)脈沖,以規定數據在存儲器與I/O設備之間的傳輸方向;修改內存地址指針并計算傳送的字節數,以判斷何時(shí)傳送結束。具體信號時(shí)序如下:
(1)I/O設備向DMAC發(fā)出請求信號DRQ;
(2)DMAC向CPU發(fā)出總線(xiàn)請求信號HRQ;
(3)CPU向DMAC發(fā)出總線(xiàn)響應信號HLDA,此時(shí),DMAC獲得總線(xiàn)控制權;
(4)DMAC向I/O設備發(fā)出DMA響應信號DACK,表示DMAC已控制了總線(xiàn),允許I/O設備與存儲器交換數據;
(5)DMAC按地址寄存器的內容發(fā)出16位地址信號作為存儲地址的選擇,同時(shí)地址寄存器的內容加1(或減1,由編程定);
(6)DMAC發(fā)出IORC信號到I/O設備,將I/O設備數據讀入總線(xiàn),同時(shí)發(fā)出MEMW信號,將數據總線(xiàn)的數據寫(xiě)入由地址總線(xiàn)選中的內存單元;
(7)字節計數器減1;
(8)重復(5)、(6)、(7)步驟,直至字節計數器為0,數據塊的DMA方式傳送工作完成。這時(shí),DMAC的HRQ降為低電平(HRO=0),總線(xiàn)控制權交給CPU。
數據拷貝期的DMA數據傳輸模塊原理如圖4所示。
2 數字拷貝機系統軟件流程
非數據拷貝期系統主程序流程如圖5所示。數據拷貝期FPGA內部DMA控制器的程序流程如圖6所示??截悪C數據輸入輸出IDE端口的程序流程如圖7所示。
檢查CDROM是否就緒程序:
void TestUnitReady(void)
{
unsigned char TempCyc;
unsigned char TempS;
for(TempCyc=0;TempCyc<12;TempCyc++)
PacketTemp[TempCyc]=0x00;
do
{
SendPacket(1);//若CD-ROM不在就緒狀態(tài)則跳過(guò)DRQ檢測
TempS=CDStatusREG& 0x89;//通過(guò)CDStatusREG & 0x89判斷ERR、DRQ、BSY中是否有1?
}
while(TempS);
//PacketCommand失敗時(shí)認為CD-ROM未就緒,再次發(fā)送Test Unit Ready
Command
}
系統經(jīng)過(guò)了ISE開(kāi)發(fā)環(huán)境的設計、仿真、定時(shí)分析,其目的是測試設計的邏輯功能和延時(shí)特性,仿真包括功能仿真和時(shí)序仿真,ISE6.1中能夠提供和完成這些功能。仿真結果符合實(shí)際需要。
(1)系統能實(shí)現拷貝、測試、對比校對。
(2)在拷貝之前的菜單可以選擇燒錄速率(CD to CD、DVD to DVD)等。
(3)系統可進(jìn)行人性化設定,包括語(yǔ)言設定、CD寫(xiě)模式設定、拷貝模式設定、蜂鳴器及空閑狀態(tài)屏幕保護設定等。
(4)常用工具設定,包括光盤(pán)信息、預掃描、系統信息、設備信息和更新固件等。
本系統符合當前技術(shù)的主流,有著(zhù)廣闊的技術(shù)前景。
參考文獻
1 何 寧,熊劍平,蔣昌龍等.基于FPGA的實(shí)時(shí)持續數據記錄系統設計[J].微電子學(xué)與計算機,2003;(1)
2 黃志偉,王 彥,陳 瓊等.FPGA系統設計與實(shí)踐[M].北京:電子工業(yè)出版社,2005
3 EDA先鋒工作室.FPGA/CPLD設計工具——Xilinx ISE使用詳解[M].北京:人民郵電出版社,2005
4 任曉東,文 博.CPLD/FPGA高級應用開(kāi)發(fā)指南[M].北京:電子工業(yè)出版社,2003
fpga相關(guān)文章:fpga是什么
評論