AT89S52單片機(jī)的USB下載線設(shè)計
1 引言
本文引用地址:http://m.butianyuan.cn/article/172214.htm不同的單片機(jī)有不同的下載線,一般來說,對應(yīng)有不同的下載軟件和硬件驅(qū)動程序。這些軟件和程序隨著功能的完善和操作等原因還有不同的版本。這造成下載線的使用者需要不斷的更新軟件,也讓使用者在更換單片機(jī)時不僅更換下載線,還要熟悉新的下載軟件。為此,如果能設(shè)計一種不需要下載軟件的下載線或統(tǒng)一操作的下載軟件,則能大大提高單片機(jī)程序下載的操作效率。研究和開發(fā)一種通用而不需下載軟件的 USB 接口的單片機(jī)的下載線更為必要。
2 硬件設(shè)計
2.1 設(shè)計思想
為了能夠使用和兼容傳統(tǒng)的下載線,一種方式是在計算機(jī)中連接一個USB 轉(zhuǎn)并口(或串口)的連接線,然后再連接一根傳統(tǒng)的下載線。在市場上,很多USB 轉(zhuǎn)并口的線是給打印機(jī)專用的,它并不是一個模擬并口,而是模擬了一個USB 打印機(jī),是不能用來連接并口下載線進(jìn)行程序下載的。USB 轉(zhuǎn)串口則不一樣,因?yàn)樗钦嬲脑陔娔X上模擬了一個串口,一般的編程軟件都可以對這個串口進(jìn)行讀寫操作。
另一種方式是單獨(dú)開發(fā)的USB 編程器,其功能包含了USB 接口和下載線(也有一部分還帶有編程器等功能),一些USB 編程器內(nèi)部結(jié)構(gòu)是一個USB 轉(zhuǎn)串口的芯片轉(zhuǎn)成串口后再接后續(xù)編程電路,這樣的方式與單獨(dú)的USB 轉(zhuǎn)串口加下載線的原理和連接是相同的。
不管是哪一種下載線,都需要對應(yīng)的驅(qū)動程序和下載程序,當(dāng)然,這些下載線也支持在線仿真等功能。
為了實(shí)現(xiàn)計算機(jī)中不需要安裝下載線驅(qū)動程序,在對下載線控制系統(tǒng)調(diào)試完成后,計算機(jī)系統(tǒng)就可使用系統(tǒng)中自有的USB 驅(qū)動程序?qū)崿F(xiàn)程序?qū)ο螺d線進(jìn)行讀寫,這樣既能保證了在所有計算機(jī)上都可以通用,又實(shí)現(xiàn)了在計算機(jī)中不需要專用的下載程序,只需要如磁盤操作一樣進(jìn)行復(fù)制、粘貼或其他文件復(fù)制操作即可將程序?qū)懭雴纹瑱C(jī)。
2.2 選用接口器件
在考慮了若干USB 接口芯片后,選用Philips 公司的PDIUSBD12 作為系統(tǒng)的USB 接口芯片,該芯片僅是一塊USB轉(zhuǎn)并行接口的系統(tǒng)芯片,所有的應(yīng)答數(shù)據(jù)都由單片機(jī)提供,能夠滿足設(shè)計需要。
PDIUSBD12 是一款性價比很高的USB 器件,完全符合USB1.1 版的規(guī)范,PDIUSBD12 通常用作微控制器系統(tǒng)中實(shí)現(xiàn)與微控制器進(jìn)行通信的高速通用并行接口。PDIUSBD12 引腳功能如圖1 所示。
圖1 PDIUSBD12 引腳圖
2.3 PDIUSBD12 與單片機(jī)連接
在Philips 的PDIUSBD12 文檔中,發(fā)布了一個與80C51的典型應(yīng)用電路,如圖2 所示。
在圖2 中,ALE 接為低電平,表示一個獨(dú)立的地址和數(shù)據(jù)總線配置。PDIUSBD12 的A0 腳與80C51 的任意一個I/O 口相連。該端口控制PDIUSBD12 的命令和數(shù)據(jù)狀態(tài)。80C51 的多位地址和數(shù)據(jù)總線可直接與PDIUSBD12 的數(shù)據(jù)總線相連。
80C51 的頻率輸入可由PDIUSBD12 的CLKOUT 提供。
2.4 下載線接口電路
下載線的電路由三個部分組成,分別是單片機(jī)控制部分、USB 接口處理電路和下載線接口電路。
其中USB 接口處理電路是采用D12 芯片與系統(tǒng)控制單片機(jī)芯片的連接方式采用了模擬總線的方式進(jìn)行連接,數(shù)據(jù)端口連接到單片機(jī)的P0 端口,并在P0 端口上接了一個上拉排阻實(shí)現(xiàn)了端口輸出高電平。將D12 的讀寫控制分別接到P3.6 和P3.7 引腳,地址端A0 接到P1.1 引腳上。其時鐘信號從CLKOUT 輸出,連接到單片機(jī)AT89S52 的XTAL1 上,作為單片機(jī)的時鐘信號,電路如圖3 所示。
評論