基于虛擬存儲器的USB下載線設(shè)計
2.2 程序設(shè)計
下載線是連接計算機與目標單片機的中間設(shè)備,僅在計算機發(fā)出操作要求時才產(chǎn)生對應(yīng)的操作響應(yīng),因而下載線系統(tǒng)程序設(shè)計過程中以處理計算機端數(shù)據(jù)為主要目標,根據(jù)計算機的數(shù)據(jù)對單片機進行相應(yīng)的操作。為了程序編寫簡潔和易于調(diào)試,設(shè)計系統(tǒng)主程序采用查詢方式對USB接口數(shù)據(jù)進行處理。對目標單片機的程序下載寫入時,將其設(shè)為整個程序的一個功能模塊,僅當需要下載寫入時調(diào)用該功能模塊,在程序編寫中將其定義為一個系統(tǒng)函數(shù)。
與PC的接口芯片采用了PDIUSBD12作為USB接口芯片,下載線為了處理來自USB接口的數(shù)據(jù),必須完成對PDIUSBD12的處理。在設(shè)計中利用Philips提供的PDIUSBD12驅(qū)動程序進行修改加以實現(xiàn)。
數(shù)據(jù)處理過程的系統(tǒng)主函數(shù)如下:
3 系統(tǒng)調(diào)試
首先對下載線系統(tǒng)進行程序?qū)懭牒统绦蛘{(diào)試,然后再進行綜合調(diào)試。按下面步驟進行。
3.1 調(diào)試下載線系統(tǒng)
首先將下載系統(tǒng)控制程序?qū)懭胂到y(tǒng)單片機,然后進行ISP下載調(diào)試。
將BIN文件代碼寫進下載線控制單片機程序內(nèi)部,采用程序直接將二進制代碼寫進目標單片機,觀察目標單片機的運行情況來判斷程序是否寫入。
將HEX文件內(nèi)的數(shù)據(jù)寫在下載線控制單片機的源程序內(nèi)部,通過單片機程序?qū)EX格式進行解釋并寫入目標單片機,觀察目標單片機的運行情況來判斷程序是否解釋并寫入正確。
3.2 硬件識別調(diào)試
通過將下載線插入PC,在PC上發(fā)現(xiàn)USB設(shè)備,驗證下載線硬件是否工作。通過對USB器件的應(yīng)答,能夠在計算機中出現(xiàn)一個USB盤符。
通過對下載線內(nèi)部的磁盤啟動扇區(qū)、FAT表和根目錄等信息的寫入,在PC上出現(xiàn)一個具體的磁盤,并能在磁盤上創(chuàng)建文件。
3.3 綜合調(diào)試
在下載線所對應(yīng)的磁盤上寫入HEX文件,由下載線系統(tǒng)單片機對HEX文件進行解釋,并寫入目標單片機,在目標單片機實驗板上觀察結(jié)果以判斷下載線是否完成功能。
4 結(jié)語
通過下載系統(tǒng)的硬件和軟件設(shè)計,在計算機中不需要安裝驅(qū)動程序,利用計算機系統(tǒng)中自帶的USB磁盤的驅(qū)動程序,只需要復制、粘貼或其他文件復制操作即可將單片機應(yīng)用程序?qū)懭雴纹瑱C,實現(xiàn)計算機通用的USB下載線的設(shè)計。本文引用地址:http://www.ex-cimer.com/article/202506.htm
評論