在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術串口校驗位的Mark/Space設置在英創主板中的應用

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-04 11:44 ? 次閱讀

英創Linux主板可以通過RS485總線掛載多個單片機組成多機系統,如圖1所示,其中Linux主機作為上位機,單片機作為從機,485總線最多能掛載256個從機。系統工作的時候,每一個從機都有自己的地址(從機號),上位機首先發送從機的地址,再發送命令/數據,其發送的命令/數據可以被每一個從機接收,從機收到命令和數據后,如果地址和自己的相符,就進行應答。

圖1 Linux主機與單片機組成的多機系統

圖2 多機通信幀格式

單片機每收到一個字節都要產生中斷,在一般情況下,當Linux主機向從機1發送數據的時候,從機2、3在每一個字節都要產生中斷,不論傳輸的是地址還是數據,也不論是不是跟自己通信。當從機設備比較多、傳輸數據比較頻繁的時候,單片機的負載將大大增加,影響正常的工作。

比較通用的解決辦法是充分利用串口固定校驗位(Parity Stick)的功能,使用Mark/Space校驗位區分地址和數據,如圖2所示的多機通信幀中,發送和接收地址字節時,可以使用Mark校驗(也可以使用Space校驗),發送和接收數據字節時,使用Space校驗(也可以使用Mark校驗)。系統初始化的時候,所有的從機都設置成Mark校驗,進入等待狀態。主機發送第一個字節(addr = 從機1)的時候使用Mark校驗。這時,所有的從機都收到了addr,并通過校驗產生中斷。在從機的中斷程序中,如果addr和自己的地址相符,就將從機設置成Space校驗(從機1),否則,繼續保持Mark校驗(從機2、3)。緊接著,主機發送data1、data2的時候使用Space校驗,這時,由于從機2、3不能通過Space校驗,將不會產生中斷,只有從機1會產生中斷,應答主機。這樣就大大降低了處于等待狀態的從機2、3的中斷負載。

對Linux目前的串口驅動程序而言,在邏輯上應用程序可以先設置一次Mark校驗位,write一個地址字節,再設置一次Space校驗,接著write多個數據字節來實現多機通信。但是,兩次調用write之間可能會有較大的時間間隙,導致單片機接收數據超時,多機通信失敗。為此,英創公司專門修改了Linux串口驅動程序,在不增加新的API調用的前提下,只需要在應用程序中連續兩次設置校驗位即可使串口驅動進入ADDR_DATA_MODE模式,支持Mark/Space多機通信,并且將同一幀數據的addr、data連續發送出去(應用程序只調用一次write函數)。應用程序具體步驟如下(為方便校驗位設置,編寫了一個校驗位設置函數):

1、校驗位設置函數

intCSerial::SetParity(intparity)

{

structtermios new_opt;

intstatus;

unsignedintold_ccflag;

tcgetattr(m_fd,&new_opt);

old_ccflag = new_opt.c_cflag;

new_opt.c_cflag &= ~PARODD ;

new_opt.c_cflag &= ~CMSPAR ;

if(parity == 0)

{

//使用Space校驗 標記數據

new_opt.c_cflag |= PARENB | CS8 | CMSPAR;

}

elseif(parity == 1)

{

//使用Mark校驗 標記地址

new_opt.c_cflag |= PARENB | CS8 | CMSPAR | PARODD;

}

elseif(parity == 2)

{ //使用偶校驗

new_opt.c_cflag |= PARENB; /* Enable parity */

new_opt.c_cflag &= ~PARODD; /* 轉換為偶效驗*/

}

elseif(parity == 3)

{

//使用奇校驗

new_opt.c_cflag |= (PARODD | PARENB); /* 設置為奇效驗*/

}

else

{

new_opt.c_cflag = old_ccflag;

}

status = tcsetattr(m_fd,TCSANOW,&new_opt);

returnstatus;

}

2、主程序兩次調用校驗位設置函數,進入ADDR_DATA_MODE模式

Buf[0] = 0x39;

Buf[1] = 0xC1;

Buf[2] = 0x80;

Buf[3] = 0x1;

Buf[4] = 0x0;

//連續兩次設置校驗位,進入ADDR_DATA_MODE.

//先設置數據使用的校驗位,后設置地址使用的校驗位

m_Serial.SetParity(0); //數據使用space校驗

m_Serial.SetParity(1); //地址使用mark校驗

sleep(1);

m_Serial.WritePort( Buf, 5 );

如上程序將5個字節一起發送出去,其中Buf[0]作為地址,使用mark校驗,Buf[1-4]作為數據,使用space校驗,波形如圖3所示。所有從機收到地址后,都通過校驗位,產生中斷,但僅地址為0x39的從機會將自己的校驗位設置為0。之后Buf[1-4]僅有從機0x39能夠產生接收中斷,應答主機。

發送完這5個字節后,就退出了ADDR_DATA_MODE模式,繼續串口發送的所有字節都使用space校驗(先設置的校驗位)。如果需要其他校驗方式,可以調用SetParity()進行設置。

圖3 ADDR_DATA_MODE發送波形圖

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11432

    瀏覽量

    212465
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6095

    瀏覽量

    36105
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    浪潮下,國產主板有什么新的發展機遇?

    信息技術應用創新浪潮的推動下,國產主板迎來了諸多新的發展機遇。信產業旨在實現信息技術領域的自主可控,這一戰略目標為國產
    的頭像 發表于 05-09 09:24 ?42次閱讀
    信<b class='flag-5'>創</b>浪潮下,國產<b class='flag-5'>主板</b>有什么新的發展機遇?

    韌科技推出新主控,4K隨機讀寫超120萬IOPS行業標桿

    電子發燒友網報道(文/黃山明)作為一家成立于2017年的年輕公司,韌科技自創立以來一直專注于存儲賽道,以成為全球存儲主控芯片的領軍企業為愿景。此次MemoryS 2025存儲峰會上,韌科技帶來
    的頭像 發表于 03-26 00:10 ?1941次閱讀
    <b class='flag-5'>英</b>韌科技推出新主控,4K隨機讀寫超120萬IOPS<b class='flag-5'>創</b>行業標桿

    芯盛智能榮獲2024年信息技術應用創新工作委員會卓越貢獻成員單位

    日前,中國電子工業標準化技術協會信息技術應用創新工作委員會(以下簡稱 “信工委會”)2024 年度總結座談會于北京隆重舉行。此次會議對
    的頭像 發表于 01-20 09:56 ?466次閱讀

    串口與Wi-Fi的連接方式

    現代通信技術串口和Wi-Fi是兩種常見的數據傳輸方式。串口通信以其簡單、穩定的特性工業控
    的頭像 發表于 12-27 10:10 ?1039次閱讀

    飛騰助力首屆教育信息技術應用創新大賽圓滿落幕

    近日,由中國教育技術協會主辦,教育部教育管理信息中心教育信實驗室、公安部第三研究所、中國電子工業標準化技術協會信工委會支持,北京航空航天
    的頭像 發表于 12-24 09:57 ?412次閱讀

    國產工控主板,信產業發展新引擎

    在當今科技飛速發展的時代,信產業正成為國家戰略的重要支撐。而我們的國產工控主板,以其卓越的性能和可靠的品質,為信產業的發展注入強大動力。國產工控主板
    的頭像 發表于 11-06 10:29 ?549次閱讀

    中科達榮獲2024年軟件和信息技術服務優秀企業

    近日,由中國電子信息行業聯合會主辦的第二十六屆中國國際軟件博覽會(簡稱“軟博會”)天津國家會展中心成功舉行。在此次盛會上,中國電子信息行業聯合會發布了“2024年軟件和信息技術服務企
    的頭像 發表于 10-30 11:44 ?773次閱讀

    銳恩科技引領微控制器MCU技術創新,賦能多元化應用!

    ,成為國家高新技術半導體企業的佼佼者。銳恩科技不僅致力于為客戶提供高可靠性、高性能、高性價比的一站式半導體芯片供應服務,更在8和32MCU市場不斷創新,推動
    發表于 09-29 13:40

    引領智能未來:銳恩科技的國產低功耗單片機ENMCU

    科技飛速發展的今天,低功耗單片機的應用越來越廣泛,尤其是安防監控、智能家居和微波雷達照明等領域。作為國內專精特新國家高新技術半導體企業,銳恩科技致力于為客戶提供高性能、低功耗的單
    發表于 09-26 17:16

    銳恩科技,以實力打造國產單片機替代品牌!

    性能已得到了市場的肯定。銳恩科技在技術上的優勢是其脫穎而出的關鍵。他們擁有一支由行業精英組成的研發團隊,不斷單片機領域進行技術探索和突破。以下是
    發表于 09-25 09:49

    用8單片機,32單片機就找銳恩!

    深圳市銳恩科技有限公司創立于 2008 年,是一家從事單片機及模擬器件電路芯片應用、設計研發、銷售一體的國家高新技術半導體企業。 銳恩科技公司憑著自身在半導體電子行業MCU(8
    的頭像 發表于 09-23 10:32 ?564次閱讀

    國產化背景下的工控主板發展現狀

    ,是信息技術應用創新產業的簡稱,于2016年“信工委會”(信息技術應用創新工作委員會)提出,目的就是要推動我們國內軟硬件關鍵技術的研發
    的頭像 發表于 09-21 16:15 ?739次閱讀

    UART串口通訊協議解析

    “1”的位數應為偶數(偶校驗)或奇數(奇校驗),以此來校驗數據傳送的正確性。校驗位其實是調整個數,串口
    發表于 09-12 16:01

    軟國際信服務助力大連信產業發展

    為進一步激發大連本地信產業生態的活力與潛力,搭建一個高效、開放的交流平臺。由大連軟件行業協會攜手大連市信息技術應用創新綜合服務中心主辦,軟國際協辦的,2024年大連市信息技術應用創
    的頭像 發表于 08-27 16:49 ?1159次閱讀

    IPv6 產業的發展歷程

    隨著信息技術的飛速發展,信產業作為國家信息安全和科技自主創新的重要領域,正日益受到廣泛關注。產業的發展過程
    的頭像 發表于 06-17 14:46 ?584次閱讀
    IPv6 <b class='flag-5'>在</b>信<b class='flag-5'>創</b>產業<b class='flag-5'>中</b>的發展歷程
    主站蜘蛛池模板: 亚洲国产欧美视频 | 免费人成年短视频在线观看免费网站 | 亚洲入口无毒网址你懂的 | 欧美一区a | 91在线国内在线播放大神 | 欧美性另类69xxx | 深深激情网 | 国产美女精品三级在线观看 | 一卡二卡三卡四卡无卡在线 | 日本三级香港三级人妇 m | 两性色午夜视频免费国产 | 国产精品第9页 | 四虎精品影院4hutv四虎 | 国产精品国产三级国产普通话对白 | 资源新版在线天堂 | 狂捣猛撞侍卫攻双性王爷受 | 三级视频网站在线观看播放 | 欧美.亚洲.日本一区二区三区 | 日日碰狠狠添天天爽五月婷 | 亚洲免费成人在线 | 伊人三级 | 毛片在线不卡 | 婷婷天堂| 又黄又粗暴的120秒免费gif视频 | 欧美黄色片在线播放 | 欧美一级在线免费观看 | 亚洲天堂视频一区 | 在线免费看黄视频 | 国产精品最新资源网 | 狠狠色综合色综合网络 | 特黄aaaaaa久久片 | 天天拍天天射 | 狠狠干视频网 | 特级毛片女人18毛片 | 俺也来俺也去俺也射 | 视频在线观看高清免费大全 | 国产精品三区四区 | 三级网站在线 | 美女自熨出白浆视频在线播放 | 有一婷婷色 | 2021久久精品99精品久久 |