中文字幕高清在线,中文字幕在线电影观看,中文字幕在线看,免费国产一区二区三区,男攻调教双性男总裁,热热涩热热狠狠色香蕉综合,亚洲精品网站在线观看不卡无广告

基于多單片機的串口擴展設(shè)計論文

時間:2021-04-20 17:44:00 論文 我要投稿

基于多單片機的串口擴展設(shè)計論文

  1 前言

基于多單片機的串口擴展設(shè)計論文

  筆者在用單片機開發(fā)一款稱重儀表時,功能較多,對串口的需求很高。需要的串口數(shù)量多,至少要五個串口,包括稱重傳感器通信串口,電腦上位機通信串口,GIM900A 通信串口,大屏幕數(shù)碼管顯示的通信串口,打印模塊的通信串口等。而且對串口要求穩(wěn)定性高,大部分串口都要求實時雙工通信。根據(jù)實際情況和產(chǎn)品串口需求,采用不用的方法進行串口擴展,主要用到了模擬串口和多單片機實現(xiàn)串口擴展。

  2 串口擴展的一般方法

  (1)模擬串口。模擬串口利用其他單片機引腳模擬串口收發(fā)時序進行串口擴展。這種串口擴展,缺點比較明顯,通信速率慢,可靠性不高,占用CPU 資源較多。高速雙工通信時一般不用此方案進行串口擴展,低速情況下可以考慮。筆者的項目中大屏幕數(shù)碼管顯示就用了這種方案,顯示的時候只發(fā)不收,單向通信,波特率要求低,最高不過9600bps。

  (2)利用專門的串口擴展芯片處理。串口擴展芯片進行串口擴展,通信穩(wěn)定性高,能達到一般的串口要求。市場上的串口擴展芯片,性能不同,價格也不一樣,但普遍成本較高,少則二三十元,多則七八十元,不利于產(chǎn)品的成本控制。串口需求較多時,一塊串口擴展芯片上串口數(shù)量不足,還需要多塊串口擴展芯片級聯(lián),更增加了成本。

  (3)利用多串口單片機。目前市場上有多串口的單片機,很多低成本單片機都自帶兩個串口,比如stc12 多串口系列。用三串口及其以上的單片機成本更貴。

  (4)基于多單片機的串口擴展設(shè)計。在一定成本要求下,結(jié)合目前單片機產(chǎn)品自身的優(yōu)勢,利用多單片機進行串口擴展,也是一種串口擴展的方案。一般c51 系列單片機自帶雙串口的只要幾元錢,完全可以把單片機用來做串口擴展,而且有的單片機自帶spi 通信接口,可以很方便的實現(xiàn)主從單片機之間的級聯(lián)和通信,同時雙單片機工作時,可以利用從單片機處理一定的程序,減輕主單片機的負擔(dān),達到“雙核”效果。

  3 基于多單片機的串口擴展設(shè)計

  3.1 串口擴展系統(tǒng)框圖

  整個系統(tǒng)由兩塊單片機構(gòu)成主從結(jié)構(gòu),主機完成產(chǎn)品的大部分功能,從機只是進行了串口擴展,擴展出了兩個雙工硬件串口,如果有需要,也可以分擔(dān)部分主機的其他功能。兩者之間通過SPI 硬件接口通信,該硬件SPI 總線是一種全雙工、高速、同步的通信總線,支持主模式和從模式兩種操作模式,主模式中支持高達3Mbps 的速率,完全可以完成主機和從機之間的可靠通信。主機和從機的串口通信,和一塊單片機使用時的用法一樣,只是先要經(jīng)過SPI 傳輸。當(dāng)需要向從機串口發(fā)數(shù)據(jù)時,先要通過主機的SPI 通信送給從機,再通過從機串口發(fā)給外圍模塊;當(dāng)需要接收從機串口數(shù)據(jù)時,先從機接收到串口數(shù)據(jù),從機再利用SPI 傳輸給主機。在進行軟件開發(fā)時,只要定義好主機和從機的SPI 通信協(xié)議,即可完成可靠的串口數(shù)據(jù)收發(fā)。

  3.2 主機和從機之間的SPI 通信

  主機和從機串口之間需要SPI 通信做橋梁,因此主從機之間的`SPI 通信顯得極其重要,必須要求高速、可靠、實時,一次SPI 采用中斷完成。主機部分需要用到常用的四個函數(shù),即主機SPI 初始化,SPI 主從機之間的數(shù)據(jù)交換,向從機發(fā)送數(shù)據(jù),主機SPI 中斷接收等。

  1) 主機SPI 初始化:

  SPDAT=0;

  SPCTL=0xfd;

  SPSTAT=0xc0;

  IE2=IE2 | 0x2;

  2) 主機SPI 數(shù)據(jù)交換

  SPDAT = dat;

  while (!(SPSTAT & SPI_SPIF));

  SPSTAT = 0xc0;

  return SPDAT;

  3) 向從機發(fā)送字符串?dāng)?shù)據(jù)

  SPCTL = 0xfd;

  IE2=IE2 & 0x01;

  SPISS=0;

  4)SPI 接收中斷函數(shù)

  uchar ucRecvSpi;

  SPDAT=SPDAT;

  SPSTAT = 0xc0;

  ucRecvSpi=SPDAT;

  ??//SPI 接收到的數(shù)據(jù)處理

  ?循環(huán)SPI 數(shù)據(jù)交換

  發(fā)送字符串

  SPISS=1;

  SPCTL = 0xec;

  IE2=IE2 | 0x3;

  從機部分也需要用到主機一樣的四個函數(shù),即從機SPI 初始化,SPI 主從機之間的數(shù)據(jù)交換,向主機發(fā)送數(shù)據(jù),從機SPI中斷接收等。程序函數(shù)與主機大部分相同,只有細微區(qū)別。在從機SPI 初始化時,SPCTL 控制寄存器初值為0xec。

  3.3 擴展的串口處理

  從機自帶的兩個雙工串口即是擴展出來的串口,要實現(xiàn)收發(fā)數(shù)據(jù),需要用到基本的3 個函數(shù),即從機串口初始化,從機串口向外圍模塊發(fā)送數(shù)據(jù),從機中斷接收數(shù)據(jù)。串口4 和串口5 函數(shù)類似,下面只列舉串口4 的初始化函數(shù)部分。

  1) 串口1 初始化

  TMOD = 0x20;

  SCON = 0x5a;

  TH1 =TL1= -3;

  TR1 = 1;

  ES = 1; EA = 1;

  2) 串口接收中斷

  RI = 0 ;

  Buf[i]=SBUF;// 接收串口數(shù)據(jù)存入數(shù)組

  if (SBUF==0x0a && Buf[i-2]==0x0d)

  接收到結(jié)束符,則向主機發(fā)送串口數(shù)據(jù)。

  4 結(jié)語

  本文中的串口擴展方法,實用性強,成本較低,能較好的實現(xiàn)串口擴展,同時利用多出的單片機,可以為主CPU 分擔(dān)一定的任務(wù),提供一定的硬件資源。

【基于多單片機的串口擴展設(shè)計論文】相關(guān)文章:

基于單片機的倒車雷達設(shè)計論文開題報告12-03

基于單片機溫控智能風(fēng)扇的設(shè)計研究論文11-02

一種基于單片機的可控成像系統(tǒng)設(shè)計論文11-08

基于單片機的液位模糊控制器設(shè)計論文11-16

基于可擴展的網(wǎng)頁關(guān)鍵信息抽取研究論文10-30

基于51單片機的盲文助讀器系統(tǒng)設(shè)計研究論文11-01

基于多流的重傳策略論文06-21

簡析基于單片機的多用途定時器的設(shè)計論文11-16

基于單片機的多用途定時器的設(shè)計分析論文11-14