基于虛擬存儲(chǔ)器的USB下載線設(shè)計(jì)
在圖2中,PDIUSBDl2的數(shù)據(jù)端口連接到單片機(jī)的P0端口,實(shí)現(xiàn)單片機(jī)與PDIUSBDl2的數(shù)據(jù)交換通道。將PDIUSBDl2的讀寫控制分別接到P3.6和P3.7引腳,實(shí)現(xiàn)單片機(jī)寫入和讀出PDIUSBDl2的數(shù)據(jù)。地址端A0接到P2.O引腳上,用于實(shí)現(xiàn)對(duì)PDIUSBDl2的數(shù)據(jù)和地址選擇。PDIUSB Dl2從CLKOUT輸出時(shí)鐘信號(hào),連接到單片機(jī)AT89S52的XTAL1上,作為單片機(jī)的時(shí)鐘信號(hào)。
下載線接口驅(qū)動(dòng)電路74HC244采用P2的部分引腳進(jìn)行控制。其中,P2.1接74HC244的門控端,輸出低電平時(shí)電路工作,在平時(shí)輸出高電平時(shí)使74HC244工作在高阻狀態(tài),使下載線與目標(biāo)單片機(jī)脫離連接。P2.2接2Y4通過下載線接口作為SCK,實(shí)現(xiàn)ISP接口的同步脈沖。P2.3通過74HC244后接到下載線接口作為MOSI,實(shí)現(xiàn)對(duì)目標(biāo)芯片的串行數(shù)據(jù)讀出。下載線接口的MISO通過74HC244驅(qū)動(dòng)后接到P2.5,實(shí)現(xiàn)對(duì)目標(biāo)芯片的串行數(shù)據(jù)的讀出。P2.5通過74HC244控制目標(biāo)芯片的RESET引腳,使其進(jìn)入和退出串行程序下載模式。
另外,在系統(tǒng)中保留了P3.O和P3.1作為異步串行通信端口,作為系統(tǒng)調(diào)試端口。P1.5,P1.6,P1.7和RESET與VCC,GND連接到系統(tǒng)控制芯片,作為系統(tǒng)控制芯片自身的程序?qū)懭虢涌凇?br />
2 軟件系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)架構(gòu)
基于虛擬內(nèi)存的USB下載線,就是從計(jì)算機(jī)角度看,下載線與目標(biāo)單片機(jī)是計(jì)算機(jī)的一個(gè)通用的USB存儲(chǔ)器,在對(duì)目標(biāo)單片機(jī)程序進(jìn)行寫操作時(shí),就像對(duì)磁盤(U盤)進(jìn)行寫操作一樣。
在PC機(jī)端主要完成的任務(wù)是USB設(shè)備驅(qū)動(dòng)程序,即將USB設(shè)備(下載線)識(shí)別為U盤,實(shí)現(xiàn)文件的寫入和讀出操作。在Windows 2000及以后的操作系統(tǒng)中,將USB磁盤驅(qū)動(dòng)作為標(biāo)準(zhǔn)驅(qū)動(dòng)程序,直接利用操作系統(tǒng)磁盤驅(qū)動(dòng)程序。文件的寫入和讀出,由操作系統(tǒng)完成相關(guān)功能,在本系統(tǒng)中不需要編寫程序。
下載線與計(jì)算機(jī)連接采用PDIUSBD12作為接口芯片,要與計(jì)算機(jī)交換數(shù)據(jù),就需要對(duì)PDIUSBDl2芯片進(jìn)行操作,下載線系統(tǒng)需要PDIUSBDl2驅(qū)動(dòng)程序。要向計(jì)算機(jī)說明下載線是一個(gè)U盤,下載線系統(tǒng)需要在計(jì)算機(jī)硬件詢問時(shí)要按USB Disk應(yīng)答,下載線系統(tǒng)還需要構(gòu)建一個(gè)文件系統(tǒng),由于下載線系統(tǒng)是面向單片機(jī)的程序下載,數(shù)據(jù)量小,采用FAT12作為下載線的文件系統(tǒng)。
當(dāng)下載線接收到計(jì)算機(jī)傳送過來的一個(gè)程序文件時(shí),需要將程序文件中的內(nèi)容分離出來。設(shè)計(jì)本系統(tǒng)主要支持bin和HEX兩種格式,其中bin文件就是機(jī)器指令的數(shù)據(jù),直接寫入單片機(jī)的程序存儲(chǔ)器中即可完成程序下載;Hex文件的INTEL格式是Intel公司提出的按地址排列的數(shù)據(jù)信息,并不是直接的機(jī)器指令代碼,因此還需要將HEX格式轉(zhuǎn)換為bin格式。
在對(duì)目標(biāo)單片機(jī)進(jìn)行程序下載時(shí),需要按照目標(biāo)單片機(jī)的程序下載時(shí)序,逐次將數(shù)據(jù)寫入目標(biāo)單片機(jī)的程序存儲(chǔ)器中,下載系統(tǒng)需要控制下載接口電路實(shí)現(xiàn)程序時(shí)序。整個(gè)硬件電路結(jié)構(gòu)與軟件關(guān)系如圖3所示。本文引用地址:http://www.ex-cimer.com/article/202506.htm
評(píng)論