《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 數字拷貝機的FPGA設計

數字拷貝機的FPGA設計

2008-04-01
作者:劉 佳,仇潤鶴

  摘 要: 基于FPGA的全自動多功能數字拷貝機的設計與實現,提出了一種切實可行的數字拷貝機的FPGA實現方法。
  關鍵詞: 數字拷貝機 FPGA ATA/IDE DMA 數據傳輸

?

  光盤拷貝機通常由一臺CD-ROM驅動器、數臺CD-R或CD-RW刻錄機和一個拷貝控制器組成。拷貝控制器首先從CD-ROM驅動器中讀出源盤數據,然后將數據流分多路" title="多路">多路傳輸到各個刻錄機,控制所有的刻錄機同步刻錄CD-R光盤。目前市場上的光盤拷貝機主要有聯機拷貝機、脫機拷貝機和自動拷貝機三種類型。
  (1)聯機拷貝機
  聯機光盤拷貝機由一臺通用PC機和一個裝有SCSI接口刻錄機的塔式機箱組成,塔箱與PC機之間用SCSI電纜相連。聯機拷貝機使用PC機作為光盤拷貝機控制器,并利用專門的CD-R拷貝軟件將刻錄數據通過SCSI母線傳輸給各個刻錄機。由于聯機拷貝機采用軟件進行數據分配和多路傳輸,所以數據傳輸速度較低。為了避免產生緩存器欠載運行(Buffer Underrun)錯誤,一般將SCSI接口上連接的刻錄機數量限制在4臺以內。
  (2)脫機拷貝機
  脫機拷貝機是所有CD-R光盤拷貝機中使用最簡單的一種,也是使用最多的一種。脫機拷貝機使用專用的硬件控制器進行源盤讀取和多路數據傳輸。因此數據傳輸的速度很快,不易產生緩存器欠載運行錯誤,復制CD-R光盤的成功率高于聯機拷貝機。
  (3)自動拷貝機
  自動拷貝機是在脫機拷貝機的基礎上又增加了一套機械手裝置,用機械手自動將CD-R空盤放入刻錄機。完成拷貝后,機械手將已刻錄的CD-R光盤從刻錄機中取出,再放入新的CD-R空盤。有些自動拷貝機帶有光盤打印機,可直接在CD-R光盤背面打印用戶設計的盤標。
??? 本設計應用Xilinx(R) SpartanTM-3 FPGA、CoolRunnerTM II CPLD和微處理器來開發ATA/IDE接口之間用于數據存儲的脫機數字拷貝機。
1 數字拷貝機系統硬件部分
1.1 系統組成和工作原理

  數字拷貝機系統由FPGA、CPLD、4MB Flash、4MBDRAM、256MB SDRAM、微型處理器和操控按鈕、液晶顯示屏、IDE/ATA接口等組成。數字拷貝機系統框圖如圖1所示。其中FPGA和MPU組成控制單元,Flash為BOOT單元,SDRAM和DRAM為存儲交換單元,CPLD為加密單元,按鈕和顯示屏為人機接口單元。


  系統通過各模塊之間的相互協作,完成數據的高速傳輸、自動拷貝功能。
  (1)系統硬件連接好之后,系統上電" title="上電">上電(連接5V直流電源);
  (2)系統自檢,CPU調用BIOS中自檢程序檢查各端口的連接狀態,并反饋給顯示器告知用戶。調用初始化程序,加載FPGA核;
  (3)液晶顯示屏顯示操作菜單,通過鍵盤操作可以方便地實現自檢、拷貝、設置等功能。將液晶顯示器的數據線與CPLD相連,充分應用CPLD在系統中的加密程序,其目的是對顯示器所顯示的數據加密,從而在實際生產中保護知識產權和名譽權;
  (4)系統中CPLD器件的主要作用是對FPGA核加密。當系統啟動時,原先存儲在Flash中的FPGA核經過CPLD的加密程序再加載到FPGA中,達到保護IP的目的;
  (5)IP下載到FPGA后,在拷貝狀態時,I/O" title="I/O">I/O口向DMAC申請數據傳輸的DMA請求,DMAC經CPU同意后獲得總線控制權,并通知I/O,準備數據傳輸。DMAC將從I/O接收到的數據放到SDRAM存儲器暫時存儲;輸出數據時,DMAC從SDRAM中取出數據,放到DMAC的緩沖器,再發送到輸出I/O口,實現數據拷貝。
  系統中DRAM的主要作用是擴展CPU內存。例如液晶顯示和數據交換等過程中的一些數據和資料需要在這里調用和存放,以加快系統速度。
1.2 系統組成模塊分析
  整個電路可劃分成二個功能模塊。
  (1)非數據拷貝期的CPU控制模塊" title="控制模塊">控制模塊:用于系統上電后,數據拷貝之前的系統初始化、系統配置檢測、菜單顯示和操作以及數據拷貝后數據的校驗、系統安全退出等。
  (2)數據拷貝期的DMA數據傳輸模塊:用于數據拷貝期FPGA中內構的DMAC與CPU的通信、控制數據與內存之間的傳輸及FPGA與外設IDE/ATA接口之間的數據傳輸等。


1.2.1 非數據拷貝期的CPU控制模塊
  非數據拷貝期的CPU控制模塊原理如圖2所示。
  此功能模塊中的Flash是一個重要的環節,主要起BOOT UP的作用。4MB的Flash與CPU、FPGA、DRAM和CPLD均有聯系,而且Flash中存儲了很多與系統有重要關系的數據,相當于BIOS。其中有用于整個系統運行的主程序,有用于數據DMA模式傳輸的FPGA核(IP),還有一些令系統初始化的程序和自檢程序等。當系統上電時,在CPU的控制下啟動整個系統,Flash將其中的IP核經過CPLD加密,下載到FPGA中,為拷貝做好準備。同時,鍵盤的接口連接至CPU,由CPU控制按下按鍵后的操作;液晶顯示器的數據線與CPLD相連,CPLD將要顯示的某些信息作為密鑰進行加密,防止他人盜用。
1.2.2 數據拷貝期的DMA數據傳輸模塊
  在這個模塊中,主要由FPGA構成的一個DMA控制器控制IDE/ATA設備與拷貝機內存之間的數據交換。選用的FPGA為SpartanTM-3E系列器件,它是開創性的低成本Spartan系列的第7類器件,也是采用先進的90nm工藝技術生產的第三類Xilinx器件系列。 Spartan-3E FPGA有高達160萬的系統門、376個I/O、1.8MB的塊RAM,并且具有業界單位邏輯成本最低的通用平臺FPGA架構。FPGA所實現DMAC控制器的內部邏輯結構如圖3所示。


  DMA控制器提供地址碼以指明I/O設備變換數據的存儲器起始地址;提供讀/寫脈沖,以規定數據在存儲器與I/O設備之間的傳輸方向;修改內存地址指針并計算傳送的字節數,以判斷何時傳送結束。具體信號時序如下:
  (1)I/O設備向DMAC發出請求信號DRQ;
  (2)DMAC向CPU發出總線請求信號HRQ;
  (3)CPU向DMAC發出總線響應信號HLDA,此時,DMAC獲得總線控制權;
  (4)DMAC向I/O設備發出DMA響應信號DACK,表示DMAC已控制了總線,允許I/O設備與存儲器交換數據;
  (5)DMAC按地址寄存器的內容發出16位地址信號作為存儲地址的選擇,同時地址寄存器的內容加1(或減1,由編程定);
  (6)DMAC發出IORC信號到I/O設備,將I/O設備數據讀入總線,同時發出MEMW信號,將數據總線的數據寫入由地址總線選中的內存單元;
  (7)字節計數器減1;
  (8)重復(5)、(6)、(7)步驟,直至字節計數器為0,數據塊的DMA方式傳送工作完成。這時,DMAC的HRQ降為低電平(HRO=0),總線控制權交給CPU。
  數據拷貝期的DMA數據傳輸模塊原理如圖4所示。

?

?


2 數字拷貝機系統軟件流程
  非數據拷貝期系統主程序流程如圖5所示。數據拷貝期FPGA內部DMA控制器的程序流程如圖6所示。拷貝機數據輸入輸出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不在就緒狀態則跳過DRQ檢測
TempS=CDStatusREG& 0x89;//通過CDStatusREG & 0x89判斷ERR、DRQ、BSY中是否有1?
}
while(TempS);
     //PacketCommand失敗時認為CD-ROM未就緒,再次發送Test Unit Ready
Command
}
  系統經過了ISE開發環境的設計、仿真、定時分析,其目的是測試設計的邏輯功能和延時特性,仿真包括功能仿真和時序仿真,ISE6.1中能夠提供和完成這些功能。仿真結果符合實際需要。


  (1)系統能實現拷貝、測試、對比校對。
  (2)在拷貝之前的菜單可以選擇燒錄速率(CD to CD、DVD to DVD)等。
  (3)系統可進行人性化設定,包括語言設定、CD寫模式設定、拷貝模式設定、蜂鳴器及空閑狀態屏幕保護設定等。
  (4)常用工具設定,包括光盤信息、預掃描、系統信息、設備信息和更新固件等。
  本系統符合當前技術的主流,有著廣闊的技術前景。
參考文獻
1 何 寧,熊劍平,蔣昌龍等.基于FPGA的實時持續數據記錄系統設計[J].微電子學與計算機,2003;(1)
2 黃志偉,王 彥,陳 瓊等.FPGA系統設計與實踐[M].北京:電子工業" title="電子工業">電子工業出版社,2005
3 EDA先鋒工作室.FPGA/CPLD設計工具——Xilinx ISE使用詳解[M].北京:人民郵電出版社,2005
4 任曉東,文 博.CPLD/FPGA高級應用開發指南[M].北京:電子工業出版社,2003

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 欧美日本在线视频 | 免费一级 一片一毛片 | 日本精品一在线观看视频 | 欧美精品在线一区二区三区 | 日本欧美不卡一区二区三区在线 | 亚洲第三区 | 女人扒开腿让男人捅啪啪 | 国产手机在线国内精品 | 在线免费看a| 日本特黄特色 | 成人中文字幕在线 | a黄网站| 日韩欧美国产精品 | 狠久久| 亚洲男人天堂 | 久久久国产99久久国产久 | 国产成人亚洲精品无广告 | 免费一级a毛片免费观看欧美大片 | 国产91无套剧情在线播放 | 久久99精品久久久久久秒播放器 | 亚洲精品成人在线 | 怡红院视频网 | 亚洲激情自拍 | 黄色三区| 亚洲视频国产精品 | 一个人看的www日本视频 | 午夜三级成人三级 | 日本一本黄 | 欧美一级片a | 特黄特黄黄色大片 | 国产在线成人一区二区 | 91福利精品老师国产自产在线 | 久久久久久久久久久大尺度免费视频 | a久久99精品久久久久久不 | 日本久久精品视频 | 亚洲精品98久久久久久中文字幕 | 天天欲色成人综合网站 | 国产一区二区免费播放 | 精品视频在线观看一区二区三区 | 国产成人a在一区线观看高清 | 成人18免费观看的软件 |