基于單片機(jī)軟硬件聯(lián)合仿真解決方案
Mini Web卡介紹
Mini Web卡是一個(gè)運(yùn)行在單片機(jī)上的Web服務(wù)器,提供網(wǎng)口連接,有大容量文件系統(tǒng),提供TFTP和HTTP服務(wù)。盡管軟件系統(tǒng)比較復(fù)雜,但優(yōu)化編譯后,執(zhí)行代碼還不足25K,為后續(xù)升級(jí)留下了足夠空間。
51CPU采用SST89系列,這種CPU具有ISP功能,可以通過(guò)RS232串口,直接將目標(biāo)碼下載到CPU。
DMA控制邏輯是一個(gè)可編程邏輯器件,采用的是ALTERA的CPLD EPM240,主要功能是實(shí)現(xiàn)外圍器件之間的DMA傳遞。因?yàn)?1CPU進(jìn)行IO訪問(wèn)是很低效的,需要24個(gè)時(shí)鐘周期才能進(jìn)行一次IO訪問(wèn),在外圍設(shè)備之間轉(zhuǎn)移數(shù)據(jù)則需要更多的時(shí)鐘周期,使用DMA控制邏輯可以達(dá)到3個(gè)時(shí)鐘周期就能轉(zhuǎn)移一個(gè)字節(jié)。本系統(tǒng)中處理多種網(wǎng)絡(luò)協(xié)議,需要大量報(bào)文收發(fā)和文件系統(tǒng)訪問(wèn),采用DMA可以極大地提高51單片機(jī)的數(shù)據(jù)處理速度。DMA通道主要有MAC芯片與RAM之間的數(shù)據(jù)塊轉(zhuǎn)移,SMARTMEDIA和RAM之間的數(shù)據(jù)塊轉(zhuǎn)移。
網(wǎng)卡芯片采用的是AX88796,主要的優(yōu)點(diǎn)是可以和51CPU方便地接口;支持100M以太網(wǎng),速度高;有較大的接收?qǐng)?bào)文緩存,能夠平滑網(wǎng)絡(luò)流量,減少因51CPU處理速度慢導(dǎo)致的報(bào)文丟棄和重發(fā)。
SMART MEDIA是一個(gè)移動(dòng)存儲(chǔ)卡,主要用于存儲(chǔ)文件,Mini Web卡支持8M到256M的SMD卡。
文件系統(tǒng)是Mini Web卡的新開(kāi)發(fā)模塊,文件系統(tǒng)的測(cè)試主要通過(guò)TFTP來(lái)進(jìn)行,為此Mini Web卡上的TFTP服務(wù)程序進(jìn)行了特殊設(shè)計(jì),支持格式化SMART MEDIA,獲取剩余空間,獲取文件名列表,上傳、下載和刪除文件。
Mini Web卡軟件模塊多,軟件開(kāi)發(fā)風(fēng)險(xiǎn)較大。軟件對(duì)硬件的依賴較強(qiáng),F(xiàn)LASH存儲(chǔ)器的訪問(wèn)驅(qū)動(dòng)、網(wǎng)卡驅(qū)動(dòng)、DMA驅(qū)動(dòng),需要軟硬件協(xié)同調(diào)試。
文件系統(tǒng)的開(kāi)發(fā),在仿真環(huán)境下更容易和快捷。比如在仿真結(jié)束時(shí),可以將SMART MEDIA仿真模型中的數(shù)據(jù)倒換到磁盤(pán)文件中,在仿真開(kāi)始時(shí),將磁盤(pán)文件中的數(shù)據(jù)加載到SMART MEDIA仿真模型中,在定位文件系統(tǒng)的問(wèn)題時(shí),這一個(gè)功能很有用。
采用軟硬件聯(lián)合仿真,便于系統(tǒng)前期設(shè)計(jì)。51單片機(jī)的外部RAM訪問(wèn)效率較低,內(nèi)存拷貝、外部器件之間的數(shù)據(jù)塊轉(zhuǎn)移很浪費(fèi)時(shí)間。將大量數(shù)據(jù)的拷貝操作或數(shù)據(jù)塊校驗(yàn)、比較操作在CPLD內(nèi)實(shí)現(xiàn),可以大大改進(jìn)51單片機(jī)處理數(shù)據(jù)的能力。通過(guò)軟硬件聯(lián)合仿真,可以評(píng)估CPLD處理數(shù)據(jù)對(duì)性能的改進(jìn)。
Mini Web卡軟硬件聯(lián)合仿真系統(tǒng):
軟硬件聯(lián)合仿真主要解決的問(wèn)題是系統(tǒng)功能設(shè)計(jì)與驗(yàn)證,它不解決電源、濾波電容、總線電平兼容問(wèn)題。
做系統(tǒng)仿真,首先要對(duì)硬件系統(tǒng)建模。我們關(guān)注的是系統(tǒng)設(shè)計(jì)的正確性和可執(zhí)行性。
系統(tǒng)中的串口只是用來(lái)支持ISP下載軟件,軟件部分沒(méi)有對(duì)串口做任何操作,所以系統(tǒng)仿真可以不必考慮。
網(wǎng)卡芯片AX88796,廠商沒(méi)有提供仿真模型。它與CPU的接口符合ISA接口標(biāo)準(zhǔn),軟件對(duì)AX88796的操作是根據(jù)NE2000標(biāo)準(zhǔn)網(wǎng)卡芯片設(shè)計(jì)的,由此我們建立了一個(gè)網(wǎng)卡芯片的仿真模型。我們?cè)O(shè)計(jì)了一個(gè)MAC BFM來(lái)仿真網(wǎng)卡芯片的ISA接口,NE2000定義的寄存器在C模型中實(shí)現(xiàn),MAC BFM與NE2000寄存器C模型通過(guò)PLI接*換數(shù)據(jù)。
SRAM仿真模型是很容易獲取的,很多器件生產(chǎn)商都提供Verilog仿真模型,但器件生產(chǎn)商提供的Verilog仿真模型都包含復(fù)雜的延時(shí)控制代碼,這會(huì)影響仿真速度。根據(jù)經(jīng)驗(yàn),我們可以確保SRAM在單板設(shè)計(jì)中被正確應(yīng)用,不會(huì)產(chǎn)生時(shí)序問(wèn)題,所以我們可以采用一個(gè)簡(jiǎn)化的SRAM仿真模型,這是我們自己設(shè)計(jì)的,有效代碼只有十幾行。
51CPU BFM 負(fù)責(zé)單片機(jī)管腳時(shí)序的產(chǎn)生和捕獲。51CPU BFM是與ISS51緊密捆綁的,由ISS51安裝程序提供。
SMARTMEDIA是三星公司提供的仿真模型,我們使用的也是三星公司的同類型存儲(chǔ)卡。該模型可以用于驗(yàn)證軟件操作SMART MEDIA的正確性和DMA Controller的接口時(shí)序。
DMA Controller是Mini Web卡硬件開(kāi)發(fā)的一部分,將邏輯設(shè)計(jì)代碼應(yīng)用于仿真,既能檢測(cè)邏輯設(shè)計(jì)的正確性,又能使整個(gè)仿真系統(tǒng)得以正常運(yùn)轉(zhuǎn)。
將上述硬件模型連接起來(lái),產(chǎn)生下圖所示硬件系統(tǒng)模型圖:
圖2. Mini Web卡硬件模塊電路圖
圖2中U11為SMART MEDIA仿真模型,U4為DMA Controller模型。
評(píng)論