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