新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 計算機串口與單片機通訊測試系統(tǒng)的實現(xiàn)

計算機串口與單片機通訊測試系統(tǒng)的實現(xiàn)

作者: 時間:2012-02-21 來源:網絡 收藏

1 引 言

本文引用地址:http://m.butianyuan.cn/article/172038.htm

串行接口標準經過使用和發(fā)展,目前已有多種,不過都是在RS-232C的基礎上改進而形成的。RS-232C標準是美國EIA(電子工業(yè)聯(lián)合會)與 BELL公司一起開發(fā)并于1969年公布的協(xié)議。因此,他作為一種標準,目前已在微機接口中被廣泛采用,他不僅已被內置于每臺,同時也已被內置于從微處理器到主機的多種類型的及其相連設備。而的通訊技術可以解決多臺下位機的多內容同時顯示,還可以方便地完成多機通訊技術、多數(shù)據(jù)處理等優(yōu)點。但是當同時用到兩種通信方式時,很可能產生沖突或其他不可預料的錯誤,對開發(fā)工作極其不利。

所以,此系統(tǒng)解決了這種開發(fā)中的問題,依靠軟件仿真數(shù)據(jù)信號的發(fā)送、接收和多種通訊方式的測試。利用簡單的硬件連接去檢測通訊是否能正常工作。

11.jpg

2 系統(tǒng)硬件組成

由圖1可看出,該系統(tǒng)主要由軟硬件兩部分構成,硬件平臺是由PC機串口發(fā)送到下位機一條通道。圖中光耦電路完成PC機信號RS-232電平到TTL電平的轉換。當PC機輸入口為RS-232高電平時,二極管VD1及光耦電路導通,使得三極管VT1導通,8031接收口RXD被定位于TTL低電平(0 V);當輸入口為RS-232低電平時,二極管VD1及光耦電路截止,使得三極管VT1截止,RXD被定位于TTL高電平(+5 V)。

另外軟件系統(tǒng)對由PC信號入口(串口)可以輸入信號,對串口和的通訊進行字符、數(shù)字、顯示等測試。

3 測試方法和內容

由串口向單片機接口進行通訊、發(fā)送數(shù)據(jù)和返回設備狀態(tài),而傳輸協(xié)議的選擇對于通訊雙方至關重要。針對系統(tǒng)的測試主要是常規(guī)測試,所以選擇了面向字符的同步協(xié)議,如圖2所示。

12.jpg

這種協(xié)議的典型代表是IBM公司的二進制同步傳輸(BSC)協(xié)議,他的特點是一次傳送若干個字符組成的數(shù)據(jù)塊,而不是只傳送一個字符,并規(guī)定了10個字符作為這個數(shù)據(jù)塊的開頭與結束標志以及整個傳輸過程的控制信息,他們叫做通信控制字。此系統(tǒng)會在測試時嚴格依照協(xié)議對單片機接受端進行數(shù)據(jù)發(fā)送,從端口發(fā)送數(shù)據(jù)校驗碼進行測試。而數(shù)據(jù)前的SYN主要起聯(lián)絡作用,SOH為序始字符。數(shù)據(jù)塊將傳送正式的測試字符,測試字符包括數(shù)字、漢字、字符等進行發(fā)送,單片機(下位機)將進行相應顯示,顯示完成后,PC機(上位機)將有本地回顯,回顯出發(fā)送的內容和接收到的數(shù)據(jù)是否顯示一致。如果顯示一致,則將會發(fā)出串口和單片機連接成功的標志;如果不能一致顯示,或者出現(xiàn)亂碼以及出現(xiàn)數(shù)據(jù)錯位,或者單片機難以接受上位機數(shù)據(jù)。

類似這些情況,此系統(tǒng)會開始利用二進制編碼進行位校驗,當接口和單片機不能通訊時,可能出現(xiàn)硬件或者軟件的情況。會有專門的模塊進行處理,將會對通訊過程進行再次發(fā)送,如果發(fā)送后,得不到單片機的回應信號則說明硬件電路連接存在問題。而出現(xiàn)不能正常顯示等情況,則系統(tǒng)會對發(fā)出的數(shù)據(jù)進行位分析,自動對發(fā)送的測試數(shù)據(jù)減少其內容,并重新檢測協(xié)議的執(zhí)行,以確定協(xié)議上無錯。檢測是否為硬件的電路產生的干擾。因為可測試多臺下位機,所以,數(shù)據(jù)為廣播方式發(fā)送,測試時可調整為點-點的發(fā)送方式。而系統(tǒng)會在接受到正常返回信號后,自動正常回顯。

測試過程中,系統(tǒng)自動調整測試順序,以最快的速度對所有下位機進行測試,常規(guī)情況下是順序測試。如果某個單片機和串口通信出現(xiàn)問題,則系統(tǒng)會跳過出問題的目標機,繼續(xù)向下檢測,并同時記錄下該機的問題。

在所有目標機被測試完成后,對出問題的機器再進行點點的測試,以確定其狀況和問題所在。如果多目標機出現(xiàn)問題,則可對他們同時采取處理,啟用多個進程進行,以提高效率。該系統(tǒng)最多可同時對8個目標機進行檢測,超過8個,系統(tǒng)會自動進行任務保存,以進行第二批處理。

4 系統(tǒng)軟件具體

軟件系統(tǒng)主要完成的功能是單片機串口的初始化和雙機通訊,完成軟件測試。而單片機初始化包括下面內容:串行控制器SCON的設置,定時器方式控制寄存器TMOD及T1的定時初始值的設置,專用寄存器PCON的SMOD位的設置。

13.jpg

在測試開始時,PC機先送出測試開始標志(本系統(tǒng)用ASCII碼的1AH),接著發(fā)送各下位機的地址信號,再送出本次測試要發(fā)送的數(shù)據(jù)個數(shù)信息,最后是連續(xù)發(fā)送出測試數(shù)據(jù)。下位機采用查詢方式接受數(shù)據(jù),當RI被激活時,讀入數(shù)據(jù),判斷是否是1AH,如果是,則繼續(xù)等待接受下一個數(shù)據(jù),判斷是否在呼叫自己,若是,則往下接受第3個數(shù),即本次要接受的數(shù)據(jù)個數(shù),并按照其所給信息相應設定往下要連續(xù)接受的數(shù)據(jù)個05數(shù)。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉