單片機在串口通信和ICP編程上的應用
一.簡介
本文引用地址:http://2s4d.com/article/171779.htmP89LPC935是一種單片封裝的微控制器,適用于許多要求高集成度,低成本的場合,可以滿足多方面的性能要求。P89LPC935采用了高性能的處理器結(jié)構,指令的執(zhí)行時間只需2~4個時鐘周期,6倍于80C51標準器件。P89LPC935集成了許多系統(tǒng)級的功能,這樣可大大減少元件的數(shù)目和電路板面積并降低系統(tǒng)的成本。
P89LPC935的主要特性有:
* 8KB的可字節(jié)擦除的FLASH程序存儲器,組成1KB的扇區(qū)和64字節(jié)頁。
* 256字節(jié)的RAM數(shù)據(jù)存儲器和一個512字節(jié)的附加片內(nèi)RAM,以及512字節(jié)的片內(nèi)用戶數(shù)據(jù)EEPROM存儲區(qū),可用來存放器件序列碼及設置參數(shù)等。
*2個4路輸入的8位A/D轉(zhuǎn)換器,2個模擬比較器,可選擇輸入及參考源。
*2個16位的定時/計數(shù)器(每一個定時器均可設置為溢出時觸發(fā)相應端口輸出或作為PWM輸出)和一個23位的系統(tǒng)定時器,系統(tǒng)定時器可用作實時時鐘。
*增強型的UART。具有波特率發(fā)生器,間隔檢測,幀錯誤檢測,自動地址識別檢測功能;
400KHZ的字節(jié)寬度I C總線通信端口和SPI通信端口。
* 捕獲/比較單元(CCU)提供PWM,輸入捕獲和輸出比較功能。
*選擇片內(nèi)高精度的RC振蕩器時不需要外接振蕩器件??蛇x擇RC振蕩器選項并且其頻率可進行很好的調(diào)節(jié)。
*操作電壓范圍為2.4~3.6V。I/O口可承受5V(可上拉或驅(qū)動到5.5V)。
網(wǎng)管插件基于P89LPC935單片機實現(xiàn),該單片機有8個模擬量采集端子、2個模擬輸出端子和一個UART通信口。其原理圖如下
本網(wǎng)管插件是通過兩個雙排24針的模擬輸出端子插在相應的功能盤上,它主要完成每塊盤的關鍵性能參數(shù)的采集并分析參數(shù),給出相應的判斷(告警、正常)。同時,他還負責收集告警量、狀態(tài)量,并將這些信息報告給上位機網(wǎng)管盤。網(wǎng)管插件還負責通道、架內(nèi)總線和架間總線之間的調(diào)度。網(wǎng)管插件的地址是通過 ADD0~4,ADD7位來地址編碼的,插件母板即功能盤需提供8位撥碼開關。第1~6對應ADD0~4,ADD7位地址編碼。與上位機網(wǎng)管盤的全雙工 485通信線有兩組,第一組用于架內(nèi)通信:485IN1+, 485IN1-, 485OUT1+, 485OUT1-;另一組用于架間通信:485IN2+, 485IN2-, 485OUT2+, 485OUT2-。485IN+, 485IN-是網(wǎng)管盤輸入的差分信號線,485OUT+, 485OUT-是網(wǎng)管盤輸出的差分信號線。SELECT1, SELECT2為通道的選擇控制開關。SELECT2:SELECT1為00時,通道與架內(nèi)總線TD1, RD1對接;SELECT2:SELECT1為01時,通道與架間總線TD2, RD2對接。采用中斷的方式接收上位機發(fā)來的命令,接收采用第4號中斷,采用查詢的方式向上位機應答,兩者之間的通信遵循串口通信協(xié)議。本機采用內(nèi)部 7.373MHzRC振蕩器,采用串口模式1,每次10位數(shù)據(jù),1位啟始位(0),8個數(shù)據(jù)位(LSB在前)以及1個停止位(邏輯1)。該模式波特率可變,由定時器1的溢出率來產(chǎn)生波特率。定時器1使用模式1,即16位的定時寄存器,定時器0使用模式2,即可自動重裝的8位計數(shù)器。UART初始化和接收中斷程序如下:
P89LPC935還具有在電路編程(ICP)功能,在電路編程方法允許使用商業(yè)編程器來實現(xiàn)編程和擦除功能,而無需將微控制器從系統(tǒng)中移出,可完全由微控器硬件完成,不需要外部引導器。ICP是一種串行編程方式,其通過一根時鐘線和一根數(shù)據(jù)線串行傳輸編程指令及數(shù)據(jù),ICP功能使用芯片的5個管腳()與LCP900連接器上的5個引腳,PCL,PDA,RESET 相連(這里V 使用3.3V電壓)。在本例中用的4位正撥撥碼開關與編程插針JP2及芯片上相應的管腳相連,平時打在ON狀態(tài),P0.5,P0.4用于其他功能,當是使用在電路編程功能時撥碼開關打到OFF一側(cè),這時即可使用在電路編程功能,此時將ICP900連接器上的相應引腳引線接到編程插針JP2上用編程軟件 CP900 Programmer 即可編程,其編程如下圖示:
評論