国产在线导航,欧美日本中文,黄色在线观看网站永久免费乱码,chinese国产在线视频,亚洲欧洲第一视频,天天做人人爱夜夜爽2020毛片,亚洲欧美中文字幕在线网站

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>基于Z85C30的多協(xié)議串行通信設(shè)計

基于Z85C30的多協(xié)議串行通信設(shè)計

時間:2023-02-20 22:54:13 電子通信論文 我要投稿
  • 相關(guān)推薦

基于Z85C30的多協(xié)議串行通信設(shè)計

  摘要:簡要從硬件和軟件兩方面介紹一種嵌入式的多協(xié)議串行通信設(shè)計方案。該設(shè)計方案采用多協(xié)議串行通信控制器Z85C30及外圍電路開發(fā),通過軟件編程,可滿足各種串行通信要求,如異步、按字節(jié)同步、按位同步等通信格式。
  關(guān)鍵詞:嵌入式系統(tǒng)串行通信控制器(SCC)Z85C30
  
  引言
  
  我們在嵌入式系統(tǒng)的開發(fā)過程中,經(jīng)常需要設(shè)計串行通信口,用以同其它設(shè)備或計算機網(wǎng)絡(luò)交換數(shù)據(jù)。針對不同的應(yīng)用場合及不同的通信格式,在硬件設(shè)計方面有許多不同的芯片可供選擇,如Intel8251A、Intel8274、Intel82530等。采用ZILOG公司的串行通信控制器Z85C30進行設(shè)計,和其它器件相比,具有功能強、速度快、外部邏輯少等優(yōu)點。
  
  1串行通信控制器Z85C30介紹
  
  Z85C30是ZILOG公司推出的一種串行通信控制器(SCC)。它具有雙通道,適用于8位、16位處理器的系統(tǒng),能夠完成串行到并行、并行到串行的轉(zhuǎn)換。Z85C30能夠處理諸如異步格式、面向字節(jié)的同步規(guī)程(如IBM雙同步規(guī)程)、面向比特的同步規(guī)程(如HDLC、SDLC);能夠產(chǎn)生、檢查CRC循環(huán)冗余檢驗碼。
  
  Z85C30每個通道有14個寫寄存器、7個讀寄存器。通過對其編程,可將通信控制器配置滿足各種格式,如數(shù)據(jù)長度、停止位的位數(shù)、有無奇偶檢驗等。
  
  1.1Z850C30主要性能
  
  ①同步速率。16MHz時鐘下,傳輸速率達4Mb/s;使用16MHz時鐘,傳輸速率達1Mb/s(FM編碼);使用16MHz時鐘,傳輸速率達500Kb/s(NRZI編碼)。
  
  ②異步性能。每個字符5、6、7或8位;1/2或2位停止位;奇或偶校驗;1、16、32、64倍時鐘格式;斷點產(chǎn)生和測試;奇偶、超載和幀出錯測試。
  
 、郯醋止(jié)同步性能。內(nèi)同步或外同步;1或2個同步字符;自動CRC產(chǎn)生、測試。
  
 、躍DLC/HDLC性能。異常中止序列的產(chǎn)生和檢測;“0”的自動插入和刪除,報文間標志的自動插入,地址段的識別,信息段剩余管理,CRC產(chǎn)生、測試;具有EOP識別/循不入口和出口的SDLC方式;可選NRZ、NRZI、曼徹斯特或FM編/解碼;具有時鐘恢復(fù)能力的數(shù)字鎖相環(huán);具有自動回波和局部回送的診斷能力。
  
  另外,Z85C30能在SDLC/HDLC方式下更高效地工作,如果有10×19位SDLC/HDLC幀狀態(tài)FIFO,14位SDLC/HDLC幀計數(shù)器,自動SDLC/HDLC標志發(fā)送,自動復(fù)位SDLC/HDLCUnderrun/EOM標志,自動預(yù)置SDLC/HDLCCRC等。
  
  1.2Z85C30主要引腳簡介
  
  Z85C30引腳按功能分為7組:數(shù)據(jù)地址總線、總線時序和復(fù)位、控制引腳、中斷控制、串行數(shù)據(jù)、通道控制引腳和時鐘引腳,如圖1所示。Z85C30引腳定義如圖2所示。
  
  D7~D0:數(shù)據(jù)地址總線,用于傳送命令和數(shù)據(jù)。
  
  RD、WR:讀、寫信號,用于對Z85C30的寄存器操作,低電平有效。
  
  CE:片選信號。
  
  A/B:A、B通道選擇,低電平表示選擇B通道,高電平選擇A通道。
  
  D/C:數(shù)據(jù)/控制選擇,高電平表示與85C30之間傳輸?shù)氖菙?shù)據(jù),低電平表示與85C30間傳輸?shù)氖敲钚盘枴?br />  
  INT:中斷請求,低電平有效,當SCC需要申請中斷時,該信號有效。
  
  INTACK:中斷響應(yīng),低電平有效。
  
  IEI:中斷允許輸入。輸入,高電平有效。當有多個中斷源時,IEI和IEO一起組成中斷順序鏈優(yōu)先級排隊電路。
  
  IEO:中斷允許輸出。輸出,高電平有效。
  
  PCLK:時鐘輸入,用來同步內(nèi)部信號,是標準的TTL電平信號。
  
  TxD、RxD:發(fā)送、接收數(shù)據(jù),分A、B兩個通道。
  
  TRxC、RTxC:通道時鐘,它們能被編程為幾種不同的操作械。RTxC能提供接收時鐘或傳送時鐘(在輸入方式),能提供傳輸時鐘計數(shù)器輸出(數(shù)據(jù)鎖相器)、晶體振蕩器輸出、波特率發(fā)生器輸出和輸入時鐘輸出(它們都是在輸出方式)。RTxC能提供接收時鐘、傳送時鐘、波特率發(fā)生器時鐘、數(shù)字鎖相環(huán)時鐘。
  
  1.3Z85C30的接口時序
  
  
  
  
  RD和WR是總線傳輸?shù)膬蓚控制信號。CE、D/C、A/B和INTACK用于控制總線傳輸?shù)念愋?偩上傳輸?shù)牡刂吩谟行Ш,RD和WR才變低。CE、WR和CE、RD鎖存地址的時序是一致的。
  
  (1)讀周期時序
  
  在RD和CE有效時,A/B和D/C上的地址被鎖存。在此周期內(nèi)CE必須保持低,并且INTACK必須保持高。Z85X30的總線驅(qū)動設(shè)備只有在RD和CE都有效地才使能。在讀操作用D/C為高時,不會影響指針的狀態(tài)。當D/C為低且在內(nèi)部操作完成后,指針復(fù)位到0。
  
  (2)寫周期時序
  
  在CE和WR有效時,A/B、D/C和數(shù)據(jù)D7~D0同時被鎖存。在此周期內(nèi)CE必須保持低,并且INTACK必須保持高。在寫操作且D/C為高時,不會影響指針的狀態(tài)。當D/C為低且在內(nèi)部操作完畢后,指針復(fù)位到0。
  
 。3)中斷響應(yīng)周期
  
  當INTACK為低時,進入中斷響應(yīng)周期。這個A/B、D/C、CE、WR信號都被忽略。
  
  1.4Z85X30寄存器訪問
  
  訪問寄存器有兩個步驟,是使用寄存器指針來完成尋址的。為尋址一個指定的寄存器,先通過寫入WR0的指針位來指定寄存器。因為Z85X30只有唯一的寄存器設(shè)置存在,因此,可以從兩個通道中的任意一個將指針寫入。當指針寫入后,再次的讀或?qū)懼芷冢ó擠/C為低時)將存取剛才指定的寄存器。在讀和寫周期結(jié)束時,指針被復(fù)位到0。
  
  對RR8(接收數(shù)據(jù)緩沖FIFO)的讀及對WR8(傳送數(shù)據(jù)緩沖FIFO)的寫操作,可以按以上方法進行,也可以在D/C為高時進行存取。當D/C為高時,可以直接對相應(yīng)的數(shù)據(jù)寄存器進行存取,并且指針的狀態(tài)為獨立的。這樣,允許在一個周期內(nèi)尋址數(shù)據(jù)寄存器,并且不影響指針的狀態(tài)。
  
  2Z85C30與CPU的接口
  
  以下介紹以8051作CPU與Z85C30的接口電路,如圖3所示。
  
  Z85C30的時鐘選用7.0728MHz。54LS373用來鎖存片選信號和Z85C30的地址(用來區(qū)分命令、數(shù)據(jù)寄存器)。因為Z85C30的寫時序在數(shù)據(jù)有效后,才應(yīng)出現(xiàn)WR的下降沿;在數(shù)據(jù)無效之前,應(yīng)出現(xiàn)WR上升沿。用1片D觸發(fā)器54LS74和2個反相器件來延遲送到Z85C30的WR。由于電路設(shè)計為TTL電路,在實際的應(yīng)用,還需加入TTL-RS232轉(zhuǎn)換電路芯片。
  
  3軟件設(shè)計
  
  3.1Z85Z30的I/O操作
  
  X85C30有三種基本的I/O操作形式:查詢、中斷、塊操作。這三種I/O操作在初始化和數(shù)據(jù)傳送時涉及到寄存器操作。
  
  查詢方式依靠軟件查詢串行控制器,從而決定什么時候數(shù)據(jù)應(yīng)從串行控制器輸入或輸出。在此模式中,主中斷使能位和WAIT/DMA請求位都應(yīng)編程為0,從而清除任何中斷或DMA請求。查詢是通過對RR0的狀態(tài)檢測進行的。在此模式中,中斷功能失效。在轉(zhuǎn)入數(shù)據(jù)處理前,必須對RR0讀分析,以決定進入怎樣的例程。
  
  中斷方式中,串行控制器的每一個通道包括三個中斷源:接收器中斷、發(fā)送器中斷和外部/狀態(tài)中斷。
  
  塊操作方式可將W/REQ輸出與WR1中的就緒/請求位配合。通過編程,W/REQ輸出在塊操作方式中能被定義為WAIT信號,在DMA方式中可作為REQ信號。
  
  3.2軟件的編寫
  
  不同的應(yīng)用場合,對Z85C30的初始化流程不同,這就需要對Z85C30的寫寄存器賦予相應(yīng)的初值。
  
  圖38051與Z85C30的接口電路
  
  在SCC初始化完成后,即可進行通信。傳送緩沖區(qū)和接收緩沖區(qū)全部為空。軟件把第1個傳送字符寫到傳送緩沖器,中斷才會產(chǎn)生。第1個傳送字符到了SCC的移位寄存器,傳送中斷產(chǎn)生。然后,SCC繼續(xù)判斷中斷,直到報文結(jié)束。報文結(jié)束時,應(yīng)執(zhí)行復(fù)位發(fā)送中斷賦值命令,用來禁止發(fā)送請求中斷。SCC檢測到最后一個字符,中斷將停止,直到另外的報文寫到傳送緩沖器。
  
  寄存器RR2用來說明中斷矢量和狀態(tài),它從B信道讀取。RR3是中斷賦值寄存器,用來指示中斷的類型,它從A信道讀取! 
  外部/狀態(tài)中斷源包括:斷點/異常中斷、發(fā)送欠載/報文結(jié)束中斷、CTS中斷、同步/搜索中斷、DCD中斷、零計數(shù)中斷。它由WR1和WR15設(shè)置,只有WR1中外部/狀態(tài)中斷允許位置和WR15中的相應(yīng)控制位置位后,外部/狀態(tài)條件才會產(chǎn)生中斷。
  
  結(jié)語
  
  采用該設(shè)計方案,能夠滿足不同通信格式的要求,軟件編程可根據(jù)實際情況選用查
  
  
  
  詢方式、中斷方式、DMA傳送方式,如需要可以加MODEM控制方式。由于Z85C30功能強大,在許多嵌入式系統(tǒng)、網(wǎng)絡(luò)設(shè)計方面,選用Z85C30作為通信控制器進行開發(fā),完全能夠?qū)崿F(xiàn)其預(yù)期的功能。
  
  
  
  

【基于Z85C30的多協(xié)議串行通信設(shè)計】相關(guān)文章:

一種多協(xié)議串行通信接口的設(shè)計方法08-06

多費率電能表中基于單片機串行口紅外通信的設(shè)計08-06

基于CAN總線的多ECU通信平臺設(shè)計08-06

基于DSP的串行通信在變頻調(diào)速系統(tǒng)中的應(yīng)用08-06

異步串行通信接口的IP核設(shè)計08-06

基于串行外設(shè)接口(SPI)的CAN總線隔離擴展設(shè)計08-06

一種基于鐵電存儲器的雙機串行通信技術(shù)08-06

基于PC/104的多串口通訊的設(shè)計08-06

基于SMS通信的直放站監(jiān)控系統(tǒng)設(shè)計08-06