999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于虛擬存儲器的USB下載線設計

2010-04-12 00:00:00朱永金,成友才
現代電子技術 2010年17期

摘 要:為了解決單片機程序下載線的通用性問題,利用PDIUSBD12、AT89S52和74HC244設計單片機與計算機USB口連接的下載線硬件電路,并為下載線系統設計和安裝系統程序,使下載線和目標單片機成為計算機USB口的虛擬存儲器,計算機通過對虛擬存儲器的文件讀寫操作實現單片機的程序下載。

關鍵詞:虛擬存儲器; 下載線; USB; 單片機

中圖分類號:TN710-34文獻標識碼:A

文章編號:1004-373X(2010)17-0208-03

Design of USB Download Cable Based on Virtual Memory

ZHU Yong-jin, CHENG You-cai

(Sichuan Vocational and Technical College, Sichuan 629000, China)

Abstract: In order to solve the compatibility issue of the MCU program download cable, the PDIUSBD12, AT89S52 and 74HC244 are used to design the hardware circuit of the cable which connects MCU and USB port on computer, the download cable system program is designed to turn the cable and target MCU into a virtual memory of USB port. Via reading and writing files in virtual memory, computer can achieve the MCU program download.

Keywords: virtual memory; download cable; USB; single chip microcomputer

0 引 言

隨著單片機技術的不斷發展,支持ISP(In-System Programming)或IAP(In-Application Programming)的單片機芯片日益增加,這類單片機芯片的應用程序寫入采用了在線下載的方式。單片機與計算機的連接端口也從串口或并口逐步過渡到USB(Universal Serial Bus)口。由于USB口具有高速、使用靈活方便等特點,單片機程序下載連接口也更加廣泛地應用USB口。但是,USB口與單片機連接的下載線在設計和應用上還是與串、并口連接一樣,不同的單片機采用不同的下載線,也對應有不同的下載軟件和硬件驅動程序。這些軟件和程序隨著功能的完善和操作改進等原因具有不同的版本。這就造成下載線的使用者需要不斷更新軟件,也讓使用者在更換單片機時不僅更換下載線,還要熟悉新的下載軟件及使用方法。為此,如果能設計一種不需要下載軟件的下載線或統一操作的下載軟件,則能大大提高單片機程序下載線的通用性及操作效率。設計一種通用而不需下載軟件的USB接口的單片機的下載線就顯得尤其必要。

1 硬件設計

1.1 設計分析

單片機USB接口下載線對于計算機而言,就是一個USB外部設備。為了實現在計算機中不需要安裝額外的下載線驅動程序和操作軟件,盡可能使用操作系統已有的USB設備的驅動程序、操作系統命令或軟件作為下載線的驅動程序及操作軟件。在對計算機操作系統進行分析和比較下,目前計算機操作系統中都帶有U盤的驅動程序,資源管理器就是一個現有的磁盤操作軟件。若將下載線虛擬為一個U盤,即從計算機角度將下載線和目標單片機視為一個虛擬磁盤,計算機對目標單片機的程序下載變為計算機對磁盤的寫操作。

當下載線系統接收到計算機寫入該磁盤的文件時,通過下載線系統程序對數據進行處理后把數據寫入目標單片機,實現單片機程序下載。下載線系統完成對計算機的磁盤響應和程序的控制和傳輸,這樣既能保證在所有計算機上都可以通用,又實現了在計算機中不需要專用的下載程序,只需要如磁盤操作一樣進行復制、粘貼或其他文件復制操作即可將程序寫入單片機。

下載線硬件系統如圖1所示。

圖1 下載線硬件電路框圖

1.2 硬件設計

在分析各種USB接口芯片后,選用Philips公司的PDIUSBD12作為系統的USB接口芯片,實現與微控制器進行通信的高速通用并行接口。該芯片采用了USB 1.1標準,現有的計算機采用USB 1.1及USB 2.0接口標準,采用PDIUSBD12作為下載線與計算機的接口芯片能夠滿足設計需要。

為了實現可靠的程序下載,對目標單片機的接口電路選用原Altra的并口驅動芯片74HC244作為下載線與目標單片機的接口驅動芯片。該芯片是三態的總線驅動芯片,在寫入和讀出目標單片機數據時有足夠的驅動能力和較小的延時,能夠實現正常的程序下載,在程序下載完成后,該芯片工作于高阻態,使下載線不影響目標單片機的正常工作。系統電路原理如圖2所示。

圖2 下載線原理電路圖

在圖2中,PDIUSBD12的數據端口連接到單片機的P0端口,實現單片機與PDIUSBD12的數據交換通道。將PDIUSBD12的讀寫控制分別接到P3.6和P3.7引腳,實現單片機寫入和讀出PDIUSBD12的數據。地址端A0接到P2.0引腳上,用于實現對PDIUSBD12的數據和地址選擇。PDIUSBD12從CLKOUT輸出時鐘信號,連接到單片機AT89S52的XTAL1上,作為單片機的時鐘信號。

下載線接口驅動電路74HC244采用P2的部分引腳進行控制。其中,P2.1接74HC244的門控端,輸出低電平時電路工作,在平時輸出高電平時使74HC244工作在高阻狀態,使下載線與目標單片機脫離連接。P2.2接2Y4通過下載線接口作為SCK,實現ISP接口的同步脈沖。P2.3通過74HC244后接到下載線接口作為MOSI,實現對目標芯片的串行數據讀出。下載線接口的MISO通過74HC244驅動后接到P2.5,實現對目標芯片的串行數據的讀出。P2.5通過74HC244控制目標芯片的RESET引腳,使其進入和退出串行程序下載模式。

另外,在系統中保留了P3.0和P3.1作為異步串行通信端口,作為系統調試端口。P1.5,P1.6,P1.7和RESET與VCC,GND連接到系統控制芯片,作為系統控制芯片自身的程序寫入接口。

2 軟件系統設計

2.1 系統架構

基于虛擬內存的USB下載線,就是從計算機角度看,下載線與目標單片機是計算機的一個通用的USB存儲器,在對目標單片機程序進行寫操作時,就像對磁盤(U盤)進行寫操作一樣。

在PC機端主要完成的任務是USB設備驅動程序,即將USB設備(下載線)識別為U盤,實現文件的寫入和讀出操作。在Windows 2000及以后的操作系統中,將USB磁盤驅動作為標準驅動程序,直接利用操作系統磁盤驅動程序。文件的寫入和讀出,由操作系統完成相關功能,在本系統中不需要編寫程序。

下載線與計算機連接采用PDIUSBD12作為接口芯片,要與計算機交換數據,就需要對PDIUSBD12芯片進行操作,下載線系統需要PDIUSBD12驅動程序。要向計算機說明下載線是一個U盤,下載線系統需要在計算機硬件詢問時要按USB Disk應答,下載線系統還需要構建一個文件系統,由于下載線系統是面向單片機的程序下載,數據量小,采用FAT12作為下載線的文件系統。

當下載線接收到計算機傳送過來的一個程序文件時,需要將程序文件中的內容分離出來。設計本系統主要支持bin和HEX兩種格式,其中bin文件就是機器指令的數據,直接寫入單片機的程序存儲器中即可完成程序下載;Hex文件的INTEL格式是Intel公司提出的按地址排列的數據信息,并不是直接的機器指令代碼,因此還需要將HEX格式轉換為bin格式。

在對目標單片機進行程序下載時,需要按照目標單片機的程序下載時序,逐次將數據寫入目標單片機的程序存儲器中,下載系統需要控制下載接口電路實現程序時序。整個硬件電路結構與軟件關系如圖3所示。

2.2 程序設計

下載線是連接計算機與目標單片機的中間設備,僅在計算機發出操作要求時才產生對應的操作響應,因而下載線系統程序設計過程中以處理計算機端數據為主要目標,根據計算機的數據對單片機進行相應的操作。為了程序編寫簡潔和易于調試,設計系統主程序采用查詢方式對USB接口數據進行處理。對目標單片機的程序下載寫入時,將其設為整個程序的一個功能模塊,僅當需要下載寫入時調用該功能模塊,在程序編寫中將其定義為一個系統函數。

與PC的接口芯片采用了PDIUSBD12作為USB接口芯片,下載線為了處理來自USB接口的數據,必須完成對PDIUSBD12的處理。在設計中利用Philips提供的PDIUSBD12驅動程序進行修改加以實現。

圖3 硬件與軟件結構框圖

數據處理過程的系統主函數如下:

void main(void)

{

disconnect_usb(); //斷開USB系統與主機的連接

system_initial(); //系統初始化

init_usb();//PDIUSBD12初始化

connect_usb();//連接USB主機

while(1)

{

if(!USB_INT) //判斷是否有PDIUSBD12的中斷

{

read_interrupt_register();//得到中斷寄存器的值,分情況處理程序

if(Interrupt_bus_reset){usb_bus_reset();continue;}

if(Interrupt_suspend_change){usb_bus_suspend();continue;}

if(Interrupt_control_out_port){endp0_out();continue;}

if(Interrupt_control_in_portUSB_usb_endp0_in){endp0_in();continue;}

if(Interrupt_main_out_port){endp2_out();continue;}

if(Interrupt_main_in_portUSB_usb_endp2_in){endp2_in();continue;}

}

}

}

3 系統調試

首先對下載線系統進行程序寫入和程序調試,然后再進行綜合調試。按下面步驟進行。

3.1 調試下載線系統

首先將下載系統控制程序寫入系統單片機,然后進行ISP下載調試。

將BIN文件代碼寫進下載線控制單片機程序內部,采用程序直接將二進制代碼寫進目標單片機,觀察目標單片機的運行情況來判斷程序是否寫入。

將HEX文件內的數據寫在下載線控制單片機的源程序內部,通過單片機程序對HEX格式進行解釋并寫入目標單片機,觀察目標單片機的運行情況來判斷程序是否解釋并寫入正確。

3.2 硬件識別調試

通過將下載線插入PC,在PC上發現USB設備,驗證下載線硬件是否工作。通過對USB器件的應答,能夠在計算機中出現一個USB盤符。

通過對下載線內部的磁盤啟動扇區、FAT表和根目錄等信息的寫入,在PC上出現一個具體的磁盤,并能在磁盤上創建文件。

3.3 綜合調試

在下載線所對應的磁盤上寫入HEX文件,由下載線系統單片機對HEX文件進行解釋,并寫入目標單片機,在目標單片機實驗板上觀察結果以判斷下載線是否完成功能。

4 結 語

通過下載系統的硬件和軟件設計,在計算機中不需要安裝驅動程序,利用計算機系統中自帶的USB磁盤的驅動程序,只需要復制、粘貼或其他文件復制操作即可將單片機應用程序寫入單片機,實現計算機通用的USB下載線的設計。

參考文獻

[1]Atmel Corporation. AT89S51 datasheet (revision C, updated 6/08)[DB/OL]. [2010-06-09]. http://www.atmel.com/dyn/resources/prod_documents/doc2487.pdf.

[2]周立功.PDIUSBD12 USB固件編程與驅動開發[M].北京:北京航空航天大學出版社,2003.

[3]Philips Semiconductors. PDIUSBD12 product data[DB/OL]. [2001-12-20]. http://www.zlgmcu.com/philips/usb/PDIUSBD12/PDIUSBD12-08_en.pdf.

[4]張宏.USB接口設計[M].西安:西安電子科技大學出版社,2002.

[5]鄧劍,楊曉非,廖俊卿.FAT文件系統原理與實現[J].計算機與數字工程,2005(9):105-108.

[6]周濤,張輝.采用PDIUSBD12的USB系統固件程序設計[J].電子技術應用,2003,29(5):70-72.

[7]魏魯原,崔霞.基于PDIUSBD12的USB控制器的設計[J].徐州工程學院學報,2007,22(10):19-22.

[8]陳軍波,劉海華,陳亞光.基于PDIUSBD12芯片的USB接口設計[J].現代電子技術,2003,26(7):45-47,49.

[9]熊玉朋,陳興欣,龐俊銳.一種新型移動保密存儲設備[J].現代電子技術,2010,33(5):89-91.

主站蜘蛛池模板: 国产在线观看精品| 亚洲最大情网站在线观看| 久久综合亚洲色一区二区三区| 亚洲国产一区在线观看| 激情在线网| 日韩 欧美 小说 综合网 另类| 57pao国产成视频免费播放| 内射人妻无套中出无码| 高清无码不卡视频| 欧美日韩国产精品va| 国产精品99久久久久久董美香 | 欧美中文字幕第一页线路一| 国产成人精品男人的天堂下载| 真实国产乱子伦视频| 人妻一区二区三区无码精品一区 | 亚洲九九视频| 日本亚洲欧美在线| 麻豆精品久久久久久久99蜜桃| 欧美亚洲一二三区| 日韩123欧美字幕| a级高清毛片| 国产va欧美va在线观看| 99久久精品免费观看国产| 国产黄网永久免费| 五月天丁香婷婷综合久久| 亚洲三级a| 午夜a级毛片| 国产18在线播放| 国产一二三区视频| 高潮爽到爆的喷水女主播视频| 青草免费在线观看| 无码国内精品人妻少妇蜜桃视频| julia中文字幕久久亚洲| 91麻豆国产视频| 亚洲欧美另类日本| 日本日韩欧美| 欧美精品啪啪一区二区三区| 国产国语一级毛片| 色综合天天操| 99九九成人免费视频精品 | 91蝌蚪视频在线观看| 国产网站免费| 色网站在线视频| P尤物久久99国产综合精品| 一本色道久久88| 国产高潮流白浆视频| 国产激情国语对白普通话| a在线观看免费| 亚洲系列中文字幕一区二区| 福利姬国产精品一区在线| 亚洲熟女中文字幕男人总站| 国产日本欧美亚洲精品视| 精品久久高清| 91在线精品麻豆欧美在线| 在线看AV天堂| 久久香蕉国产线看观看亚洲片| 色综合久久88| 九九视频免费在线观看| 国产男女XX00免费观看| 无码福利视频| 欧美劲爆第一页| 亚洲日韩图片专区第1页| 亚洲综合狠狠| 最新日韩AV网址在线观看| 国产一区二区影院| 亚洲不卡无码av中文字幕| 狂欢视频在线观看不卡| 免费AV在线播放观看18禁强制| 色综合狠狠操| 久久久久青草大香线综合精品 | 99在线视频精品| 亚洲欧洲免费视频| 亚洲无码37.| 欧美国产在线看| www精品久久| 国产在线观看成人91| 激情综合激情| 四虎成人精品| 亚洲无码37.| 国产精品专区第一页在线观看| www精品久久| 国产成人1024精品下载|