數(shù)字拷貝機(jī)的FPGA設(shè)計(jì)
光盤(pán)拷貝機(jī)通常由一臺(tái)CD-ROM驅(qū)動(dòng)器、數(shù)臺(tái)CD-R或CD-RW刻錄機(jī)和一個(gè)拷貝控制器組成??截惪刂破魇紫葟腃D-ROM驅(qū)動(dòng)器中讀出源盤(pán)數(shù)據(jù),然后將數(shù)據(jù)流分多路傳輸?shù)礁鱾€(gè)刻錄機(jī),控制所有的刻錄機(jī)同步刻錄CD-R光盤(pán)。目前市場(chǎng)上的光盤(pán)拷貝機(jī)主要有聯(lián)機(jī)拷貝機(jī)、脫機(jī)拷貝機(jī)和自動(dòng)拷貝機(jī)三種類型。
本文引用地址:http://www.ex-cimer.com/article/85404.htm(1)聯(lián)機(jī)拷貝機(jī)
聯(lián)機(jī)光盤(pán)拷貝機(jī)由一臺(tái)通用PC機(jī)和一個(gè)裝有SCSI接口刻錄機(jī)的塔式機(jī)箱組成,塔箱與PC機(jī)之間用SCSI電纜相連。聯(lián)機(jī)拷貝機(jī)使用PC機(jī)作為光盤(pán)拷貝機(jī)控制器,并利用專門(mén)的CD-R拷貝軟件將刻錄數(shù)據(jù)通過(guò)SCSI母線傳輸給各個(gè)刻錄機(jī)。由于聯(lián)機(jī)拷貝機(jī)采用軟件進(jìn)行數(shù)據(jù)分配和多路傳輸,所以數(shù)據(jù)傳輸速度較低。為了避免產(chǎn)生緩存器欠載運(yùn)行(Buffer Underrun)錯(cuò)誤,一般將SCSI接口上連接的刻錄機(jī)數(shù)量限制在4臺(tái)以內(nèi)。
(2)脫機(jī)拷貝機(jī)
脫機(jī)拷貝機(jī)是所有CD-R光盤(pán)拷貝機(jī)中使用最簡(jiǎn)單的一種,也是使用最多的一種。脫機(jī)拷貝機(jī)使用專用的硬件控制器進(jìn)行源盤(pán)讀取和多路數(shù)據(jù)傳輸。因此數(shù)據(jù)傳輸?shù)乃俣群芸欤灰桩a(chǎn)生緩存器欠載運(yùn)行錯(cuò)誤,復(fù)制CD-R光盤(pán)的成功率高于聯(lián)機(jī)拷貝機(jī)。
(3)自動(dòng)拷貝機(jī)
自動(dòng)拷貝機(jī)是在脫機(jī)拷貝機(jī)的基礎(chǔ)上又增加了一套機(jī)械手裝置,用機(jī)械手自動(dòng)將CD-R空盤(pán)放入刻錄機(jī)。完成拷貝后,機(jī)械手將已刻錄的CD-R光盤(pán)從刻錄機(jī)中取出,再放入新的CD-R空盤(pán)。有些自動(dòng)拷貝機(jī)帶有光盤(pán)打印機(jī),可直接在CD-R光盤(pán)背面打印用戶設(shè)計(jì)的盤(pán)標(biāo)。
本設(shè)計(jì)應(yīng)用Xilinx(R) SpartanTM-3 FPGA、CoolRunnerTM II CPLD和微處理器來(lái)開(kāi)發(fā)ATA/IDE接口之間用于數(shù)據(jù)存儲(chǔ)的脫機(jī)數(shù)字拷貝機(jī)。
1 數(shù)字拷貝機(jī)系統(tǒng)硬件部分
1.1 系統(tǒng)組成和工作原理
數(shù)字拷貝機(jī)系統(tǒng)由FPGA、CPLD、4MB Flash、4MBDRAM、256MB SDRAM、微型處理器和操控按鈕、液晶顯示屏、IDE/ATA接口等組成。數(shù)字拷貝機(jī)系統(tǒng)框圖如圖1所示。其中FPGA和MPU組成控制單元, Flash為BOOT單元,SDRAM和DRAM為存儲(chǔ)交換單元,CPLD為加密單元,按鈕和顯示屏為人機(jī)接口單元。
系統(tǒng)通過(guò)各模塊之間的相互協(xié)作,完成數(shù)據(jù)的高速傳輸、自動(dòng)拷貝功能。
(1)系統(tǒng)硬件連接好之后,系統(tǒng)上電(連接5V直流電源);
(2)系統(tǒng)自檢,CPU調(diào)用BIOS中自檢程序檢查各端口的連接狀態(tài),并反饋給顯示器告知用戶。調(diào)用初始化程序,加載FPGA核;
(3)液晶顯示屏顯示操作菜單,通過(guò)鍵盤(pán)操作可以方便地實(shí)現(xiàn)自檢、拷貝、設(shè)置等功能。將液晶顯示器的數(shù)據(jù)線與CPLD相連,充分應(yīng)用CPLD在系統(tǒng)中的加密程序,其目的是對(duì)顯示器所顯示的數(shù)據(jù)加密,從而在實(shí)際生產(chǎn)中保護(hù)知識(shí)產(chǎn)權(quán)和名譽(yù)權(quán);
(4)系統(tǒng)中CPLD器件的主要作用是對(duì)FPGA核加密。當(dāng)系統(tǒng)啟動(dòng)時(shí),原先存儲(chǔ)在Flash中的FPGA核經(jīng)過(guò)CPLD的加密程序再加載到FPGA中,達(dá)到保護(hù)IP的目的;
(5)IP下載到FPGA后,在拷貝狀態(tài)時(shí),I/O口向DMAC申請(qǐng)數(shù)據(jù)傳輸?shù)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/DMA">DMA請(qǐng)求,DMAC經(jīng)CPU同意后獲得總線控制權(quán),并通知I/O,準(zhǔn)備數(shù)據(jù)傳輸。DMAC將從I/O接收到的數(shù)據(jù)放到SDRAM存儲(chǔ)器暫時(shí)存儲(chǔ);輸出數(shù)據(jù)時(shí),DMAC從SDRAM中取出數(shù)據(jù),放到DMAC的緩沖器,再發(fā)送到輸出I/O口,實(shí)現(xiàn)數(shù)據(jù)拷貝。
系統(tǒng)中DRAM的主要作用是擴(kuò)展CPU內(nèi)存。例如液晶顯示和數(shù)據(jù)交換等過(guò)程中的一些數(shù)據(jù)和資料需要在這里調(diào)用和存放,以加快系統(tǒng)速度。
1.2 系統(tǒng)組成模塊分析
整個(gè)電路可劃分成二個(gè)功能模塊。
(1)非數(shù)據(jù)拷貝期的CPU控制模塊:用于系統(tǒng)上電后,數(shù)據(jù)拷貝之前的系統(tǒng)初始化、系統(tǒng)配置檢測(cè)、菜單顯示和操作以及數(shù)據(jù)拷貝后數(shù)據(jù)的校驗(yàn)、系統(tǒng)安全退出等。
(2)數(shù)據(jù)拷貝期的DMA數(shù)據(jù)傳輸模塊:用于數(shù)據(jù)拷貝期FPGA中內(nèi)構(gòu)的DMAC與CPU的通信、控制數(shù)據(jù)與內(nèi)存之間的傳輸及FPGA與外設(shè)IDE/ATA接口之間的數(shù)據(jù)傳輸?shù)取?/p>
1.2.1 非數(shù)據(jù)拷貝期的CPU控制模塊
非數(shù)據(jù)拷貝期的CPU控制模塊原理如圖2所示。
此功能模塊中的Flash是一個(gè)重要的環(huán)節(jié),主要起B(yǎng)OOT UP的作用。4MB的Flash與CPU、FPGA、DRAM和CPLD均有聯(lián)系,而且Flash中存儲(chǔ)了很多與系統(tǒng)有重要關(guān)系的數(shù)據(jù),相當(dāng)于BIOS。其中有用于整個(gè)系統(tǒng)運(yùn)行的主程序,有用于數(shù)據(jù)DMA模式傳輸?shù)腇PGA核(IP),還有一些令系統(tǒng)初始化的程序和自檢程序等。當(dāng)系統(tǒng)上電時(shí),在CPU的控制下啟動(dòng)整個(gè)系統(tǒng),F(xiàn)lash將其中的IP核經(jīng)過(guò)CPLD加密,下載到FPGA中,為拷貝做好準(zhǔn)備。同時(shí),鍵盤(pán)的接口連接至CPU,由CPU控制按下按鍵后的操作;液晶顯示器的數(shù)據(jù)線與CPLD相連, CPLD將要顯示的某些信息作為密鑰進(jìn)行加密,防止他人盜用。
fpga相關(guān)文章:fpga是什么
評(píng)論