新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > SI-PROG編程器的工作原理及其程序設計

        SI-PROG編程器的工作原理及其程序設計

        作者: 時間:2009-06-16 來源:網絡 收藏

        1.2 信號的邏輯關系
        由圖1可見,8250的11,33,32,36四個引腳分別通過與AVR的RESET,MOSI,SCK,MISO相連進行通信。這4個引腳的電平可通過8250內部的3個寄存器進行設置或讀取,如圖3所示。3個寄存器依次為線路控制寄存器(LCR)、Modem控制寄存器(MCR)和Modem狀態寄存器(MSR)。對于串口1,3個寄存器的端口地址一般為3FBH,3FCH和3FEH。LCR的SB位、MCR的DTR位和RTS位分別控制11,33,32三腳的電平。MSR的CTS位則反映了36腳的電平。

        下面分析8250與AVR通信信號間的邏輯關系。為了避免引起混亂,這里全部采用正邏輯描述。
        1.2.1 RESET與SB位的邏輯關系
        線路控制寄存器LCR的D6位SB決定了8250的11腳的電平。當SB=1時,11腳被強制拉到低電平,DB9的3腳為高電平。當SB=O時,DB9的3腳為低電平。邏輯關系在Q1上又反相一次。因此,RESET信號與SB位的邏輯關系為:
        RESET=SB (1)
        編程時只要通過OUT指令改變SB位的值,就可以控制RESET端的電平。當8250復位后,SB=0,RESET=SB=1,RESET引腳為高電平。
        1.2.2 MOSI,SCK信號與DTR,RTS位的邏輯關系
        MODEM控制寄存器MCR的D0位DTR控制著33腳的電平。置DTR=1,則33腳DTR為低電平,是邏輯非關系。U3相當于非門,故MOSI信號與DTR位的邏輯關系為:
        MOSI=DTR (2)
        類似的,SCK信號與MCR的D1位RTS的邏輯關系為:
        SCK=RTS (3)
        1.2.3 CTS位與MISO信號的邏輯關系
        MODEM狀態寄存器(MSR)的D4位CTS反映了8250的36腳的電平,當CTS端為高電平時,CTS=O;反之CTS=1。CTS位與CTS端是邏輯非關系。因此,CTS位與MISO信號的的邏輯關系為:
        CTS=MISO (4)
        根據式(1)~式(4),下載編程時,設置或讀取AVR的RESET,MOSI,SCK,MISO腳的電平問題就變成通過I/O指令設置或讀取8250內部寄存器的SB,DTR,RTS,CTS位的問題。
        1.3 的電平轉換
        根據RS 232標準,串口DB9上的兩種電平分別為5~15 V和-5~-15 V。電路采用分立元件實現DB9上的RS 232電平與AVR的TTL電平間的轉換。
        1.3.1 RS 232到TTL電平的轉換
        圖1中,用限流電阻R3和4.7 V的穩壓二極管Z2完成DB9的4腳上RS 232電平到J1的1腳上TTL電平的轉換。5~15 V與-5~-15 V高低兩種電平通過R3后將分別變成4.7 V和O V(實際為-O.7 V),符合TTL電平的要求。
        類似的,限流電阻R4和4.7 V的穩壓二極管Z1完成DB9的7腳上RS 232電平到J1的7腳上的TTL電平的轉換。
        Q1,R1,R2接成反相器,DB9的3腳上的5~15 V與-5~-15 V兩種電平分別使Q1處于飽和導通和截至狀態,實現了RESET信號的電平轉換。
        1.3.2 TTL到RS 232電平的轉換
        TTL到RS 232電平的轉換由SN75154線接收器實現。圖4為SN75154的施密特電壓傳輸特性曲線。
        當閾值電壓控制端T3接Vcc時,它在圖4中曲線a狀態,兩個閾值電壓分別為VIT-=-1.1 V和VIT+=2.2 V;當T3懸空時,它于圖中曲線b狀態,VIT-=-1.4 V,VIT+=2.2 V。顯然,對于后一狀態,MISO引腳上的TTL電平信號可以通過U4到達8250,而前一狀態則無法通過U4。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 德昌县| 广德县| 宁夏| 修文县| 定远县| 金乡县| 洮南市| 色达县| 额尔古纳市| 四子王旗| 大冶市| 获嘉县| 珠海市| 遵义市| 叶城县| 甘洛县| 蓝田县| 鹤山市| 梅河口市| 嫩江县| 九龙城区| 荃湾区| 阳新县| 洛阳市| 昌江| 郯城县| 湖州市| 五寨县| 祥云县| 牡丹江市| 和静县| 遂昌县| 石屏县| 涿鹿县| 龙游县| 神农架林区| 上杭县| 石城县| 遂川县| 益阳市| 双峰县|