SI-PROG編程器的工作原理及其程序設計
摘 要:介紹SI-PROG編程器的工作原理,利用PC機串口UART芯片實現單片機的ISP下載。PC機串口8250芯片中SOUT,DTR,RTS,CTS四個引腳的電平可通過其內部的幾個寄存器分別進行控制或讀取,利用引腳可實現單片機的ISP下栽。介紹了8250與單片機之間通信信號的邏輯關系以及電平轉換,分析了接收器的閾值電壓的特點,給出了使用SI-PROG編程器的條件。最后,以AVR單片機為例介紹了下載程序設計。結果表明,利用PC機串口UART芯片可以實現對AVR單片機的ISP下載,其硬件電路和軟件設計都很簡單。
關鍵詞:S1-PROG編程器;程序設計;UART;AVR單片機
SI-PROG編程器為PonyProg 2000軟件中使用的一種ISP編程器,該編程器利用PC機串口電路的異步通信控制器UART實現AVR,PIC,AT89等單片機的ISP編程。雖然該編程器不為Atmel的AVRStudio所支持,但是其硬件電路簡單,成本低,便于制作,適于初學者進行學習和簡單開發。下面以AVR單片機為例,介紹SI-PROG編程器的工作原理及其程序設計。
l SI-PROG編程器的工作原理
1.1 電路組成
圖1為SI-PROG串口編程器的工作原理圖。電路分為PC機串口電路、SI-PROG編程器和目標機3部分。編程器通過9針D型連接器DB9與PC機串口連接,通過10針連接器J1與目標機連接,電路在文獻[4]的基礎上做了適當的簡化。J1引腳定義與Atmel的STK200下載線相同。
1.1.1 PC機串口電路及SI-PROG編程器
PC機串口電路由U1~U4組成。8250(U1)為異步通信控制器UART,SN75150(U2,U3)為驅動器,SN75154為線接收器。U2,U3,U4實現8250引腳上TTL電平與串口DB9上RS 232電平轉換。SI-PROG編程器則完成DB9上RS 232電平與目標機上TTL電平的轉換。
1.1.2 串行SPI接口
編程器通過目標機的SPI接口對其片內的FLASH程序存儲器進行下載編程。SPI接口由SCK,MOSI和MISO等幾條信號線組成。下載編程的過程實際上是PC機與AVR的通信過程。兩者的關系是一種主從關系,PC機為主機,AVR為從機。主機經MOSI引腳將串行數據發給從機,從機經MISO引腳將數據返回給主機。SCK為串行時鐘脈沖,由主機發往從機。主機通過SCK脈沖控制與從機的數據傳輸。圖2為串行下載編程時序圖。單片機在SCK上升沿讀取MOSI上的數據位,在SCK下降沿輸出數據位到MISO。
評論