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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

在i.MX RT10xx使用FlexIO實現(xiàn)XY2-100振鏡控制協(xié)議

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 2023-05-18 09:21 ? 次閱讀

一、概述

本文介紹了如何使用i.MX RT系列芯片上的FlexIO實現(xiàn)XY2-100激光振鏡控制協(xié)議。FlexIO模塊是NXP Kinetis和i.MX RT系列MCU的片上外設(shè)。

FlexIO是一個高度可配置模塊,能夠模擬多種常見的通信協(xié)議:UARTI2C、SPI、I2S、SSI等,還可以使用FlexIO模擬實現(xiàn)XY2-100振鏡控制協(xié)議。

二、XY2-100振鏡協(xié)議簡介

XY2-100是數(shù)字化激光掃描振鏡的通信接口協(xié)議,被廣泛地使用在大多振鏡激光掃描控制系統(tǒng)。在振鏡的運動控制中XY2-100是數(shù)字化激光掃描振鏡的接口定義及通信協(xié)議。

XY2-100協(xié)議包括四路信號

SECLOCK(時鐘信號)

SYNC(同步信號)

CHANNELX(X 通道數(shù)據(jù))

CHANNELY(Y 通道數(shù)據(jù))

這四路信號是一種同步串行傳輸?shù)倪^程,數(shù)據(jù)時序圖如下所示。

1aef31c0-f51a-11ed-90ce-dac502259ad0.png

其中時鐘信號CLOCK為2MHz,其上升沿時位置數(shù)據(jù)被寫入,下降沿時位置數(shù)據(jù)被振鏡采樣。SYNC信號用于提供數(shù)據(jù)轉(zhuǎn)換的同步信息,當(dāng)它從低電平到高電平時第一位數(shù)據(jù)被發(fā)送,從高電平到低電平時最后一位校驗位被發(fā)送;CHANNELX/Y是數(shù)據(jù)信號,它有20位組成,其中C2、C1、C0是振鏡運動方向值,默認值為001,D15—D0是16位的二進制數(shù),用來控制振鏡偏轉(zhuǎn)的角度大小;最后一個bit(P)是偶校驗位。 XY2-100協(xié)議的時鐘速率高達2MHz。如果使用普通MCU的GPIO以4MHz的頻率中斷響應(yīng)模擬實現(xiàn)協(xié)議,系統(tǒng)消耗資源過大,難以保證協(xié)議的實時性,影響激光振鏡的控制效果。現(xiàn)有系統(tǒng)大部分采用CPLD/FPGA實現(xiàn)XY2-100協(xié)議,存在造價高,系統(tǒng)復(fù)雜的缺點。 使用NXPi.MX RT10xx系列MCU上的FlexIO模塊,可以方便實現(xiàn)XY2-100協(xié)議,并保證系統(tǒng)的實時性。

三、利用FlexIO模擬XY2-100

本節(jié)主要介紹如何使用FlexIO模擬XY2-100的主機協(xié)議,將會詳細闡述FlexIO模塊的相關(guān)配置項。

由于XY2-100數(shù)據(jù)格式與SPI接口類似,所以在FlexIO的配置上,XY2-100部分與模擬SPI相似。

可使用兩個FlexIO定時器、兩個Shifter移位器和四個引腳(FlexIO D5~D8)實現(xiàn)XY2-100協(xié)議接口。

FlexIO Timer0用于產(chǎn)生2MHz CLOCK時鐘信號,Timer1用于產(chǎn)生19位的SYNC同步信號。Shifter0連接到CHANNEL_X引腳,Shifter1連接到CHANNEL_Y引腳,并在CLOCK的每個上升沿發(fā)送數(shù)據(jù)。用戶軟件實現(xiàn)中允許在中斷、輪詢和DMA模式下發(fā)送振鏡坐標(biāo)數(shù)據(jù)。

下圖顯示了FlexIO模擬XY2-100接口的內(nèi)部連接關(guān)系。

1b111ec0-f51a-11ed-90ce-dac502259ad0.png

Timer0配置為雙8位計數(shù)器,在觸發(fā)事件高電平時被使能,在比較事件到來時禁用。Timer0的觸發(fā)源連接到內(nèi)部Shifter0和Shifter1,作為這二個移位器的觸發(fā)時鐘源。Timer0的計數(shù)遞減源配置為FlexIO Clock時鐘,Shifter0和Shifter1移位時鐘則由來自Timer0的每一次計時輸出。Timer0 需要被配置為能夠被Shifter0的狀態(tài)標(biāo)志位觸發(fā),當(dāng)Shifter0寫入數(shù)據(jù)則使能Timer0開始工作。

在XY2-100協(xié)議中,由于傳輸頻率為2MHz,因此Timer0的Compare比較寄存器的值經(jīng)計算得到需配置為0x2702。

Timer1被配置為16位計數(shù)器模式,由Timer0觸發(fā)。Timer1的計數(shù)遞減源設(shè)置為觸發(fā)信號的兩個邊沿。由于XY2-100的同步信號為19位高電平,1位低電平,所以Timer1的Compare比較寄存器的值需配置為19 * 2。

Shifter0配置為Transmit模式,并在移位器時鐘的上升沿移位,使能移位器起始位并將其設(shè)置為邏輯低電平。通過FlexIO寄存器SHIFTBUFBIS[0]寫入CHANNEL_X的數(shù)據(jù)。

Shifter1配置為Transmit模式,并在移位器時鐘的上升沿移位,使能移位器起始位并將其設(shè)置為邏輯低電平。通過FlexIO寄存器SHIFTBUFBIS[1]寫入CHANNEL_Y的數(shù)據(jù)。

下面給出了在MIMXRT1050-EVK上實現(xiàn)XY2-100協(xié)議接口詳細的寄存器配置:

FlEXIO02.TIMCTL[0] = 0x01C30701

FlEXIO02.TIMCFG[0] = 0x00002220

FlEXIO02.TIMCMP[0] = 0x00002702

FlEXIO02.TIMCTL[1] = 0x03430603

FlEXIO02.TIMCFG[1] = 0x02102100

FlEXIO02.TIMCMP[1] = 0x00000026

FlEXIO02.SHIFTCTL[0] = 0x00030802

FlEXIO02.SHIFTCFG[0] = 0x00000030

FlEXIO02.SHIFTCTL[1] = 0x00030502

FlEXIO02.SHIFTCFG[1] = 0x00000030

四、XY2-100協(xié)議實際測試運行

參照上面FlexIO的配置,以MIMXRT1050-EVK板為例進行實際運行測試。將四個XY2-100信號引腳連接到邏輯分析儀,運行代碼后抓取i.MX RT1050的通信數(shù)據(jù),其波形如下圖所示。CHANNELX/Y數(shù)據(jù)與圖中的波形匹配,達到FlexIO模擬XY2-100的效果。

1b2ead64-f51a-11ed-90ce-dac502259ad0.png1b4d0b2e-f51a-11ed-90ce-dac502259ad0.png

小結(jié)

以上介紹了如何在i.MX RT1050使用FlexIO模塊來模擬XY2-100振鏡通信協(xié)議接口。通過FlexIO的硬件Timer定時器和Shifter移位寄存器可以大大減輕CPU內(nèi)核的負荷,滿足協(xié)議的實時性要求。 除了本文給出的Timer和Shifter的配置外,用戶也可以利用其它FlexIO配置模擬XY2-100協(xié)議接口,這個方法不是唯一的。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17877

    瀏覽量

    361319
  • 通信接口
    +關(guān)注

    關(guān)注

    3

    文章

    251

    瀏覽量

    31397
  • 控制協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    7033
  • 振鏡
    +關(guān)注

    關(guān)注

    3

    文章

    23

    瀏覽量

    15217
  • 時鐘信號
    +關(guān)注

    關(guān)注

    4

    文章

    466

    瀏覽量

    29111

原文標(biāo)題:在i.MX RT10xx 使用FlexIO實現(xiàn)XY2-100振鏡控制協(xié)議

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    i.MX RT1xxx 系列的時鐘系統(tǒng)以及相關(guān)功能引腳

    目前 i.MXRT1xxx 系列主要分為 i.MX RT10xxi.MXRT11xx 兩大分支。這兩個分支的時鐘系統(tǒng)設(shè)計是有一些差異的,不過總體來說,架構(gòu)差別不大,我們以如下
    發(fā)表于 07-08 17:01 ?914次閱讀

    i.MX RT10xx系列外部晶相關(guān)引腳的作用

    之前寫過一篇關(guān)于時鐘引腳的文章 《i.MX RT1xxx系列MCU時鐘相關(guān)功能引腳的作用》,里面簡單提及了外部晶相關(guān)引腳的作用,但是并沒有詳細展開。
    的頭像 發(fā)表于 10-13 09:08 ?1778次閱讀

    MIMXRT10xx EVK永磁同步電機磁場定向控制資料分享

    基于i.MX RT10xx EVK的永磁同步電機磁場定向控制
    發(fā)表于 12-12 06:22

    恩智浦i.MX RT1170將該系列帶上了更高的層面

    寬泛溫度范圍下運行的能力,i.MX RT1170微控制器面向消費、工業(yè)和汽車市場的廣泛應(yīng)用。 i.MX
    的頭像 發(fā)表于 05-18 11:15 ?4092次閱讀

    i.MX RT10XX系列平臺上進行OTA

    升級。最為常見的就是移動終端的OTA升級,近幾年很火的新能源汽車也讓大家對這一技術(shù)更加熟悉。 二、概述本文將介紹i.MX RT10XX系列平臺上,進行基于阿里云物聯(lián)網(wǎng)平臺的OTA。在此之前,先簡單
    的頭像 發(fā)表于 09-17 10:12 ?2854次閱讀

    i.MX RT開發(fā)筆記-08 | i.MX RT1062嵌套中斷向量控制器NVIC(按鍵中斷檢測)

    系列文章目錄i.MX RT開發(fā)筆記-01 | 初識 i.MX RT1062 跨界MCUi.MX RT
    發(fā)表于 12-01 13:51 ?2次下載
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>開發(fā)筆記-08 | <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1062嵌套中斷向量<b class='flag-5'>控制</b>器NVIC(按鍵中斷檢測)

    基于i.MX RT單芯片實現(xiàn)的GUI圖形顯示和語音控制解決方案

    基于優(yōu)秀的性能指標(biāo),i.MX RT可以勝任許多輕量級的AI應(yīng)用,賦能越來越多的邊緣設(shè)備。今天這場視頻講座中,恩智浦的專家將向大家展示一款基于i.MX RT單芯片
    的頭像 發(fā)表于 12-31 09:48 ?7473次閱讀

    i.MX RT超低功耗模式捉蟲記

    SNVS模式是i.MX RT10XXi.MX RT11XX系列MCU中功耗最低的狀態(tài),其標(biāo)志性特點是除SNVS電源域保持供電,其余的電源域均處于斷電狀態(tài)。
    發(fā)表于 02-08 15:14 ?0次下載
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>超低功耗模式捉蟲記

    i.MX RT1170上串行NOR Flash雙程序可交替啟動設(shè)計

    i.MX RT10xx一樣,這里要聊的還是一片掛載FlexSPI上的串行NOR Flash里做冗余/雙程序設(shè)計,就是下圖中的image L和image H,不涉及LPSPI接口F
    的頭像 發(fā)表于 04-28 09:55 ?1465次閱讀

    如何在i.MX RT1050使用FlexIO模塊模擬XY2-100通信協(xié)議接口

    一、概述 本文介紹了如何使用i.MX RT系列芯片上的FlexIO實現(xiàn)XY2-100激光
    的頭像 發(fā)表于 05-18 09:22 ?4611次閱讀
    如何在<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1050使用<b class='flag-5'>FlexIO</b>模塊模擬<b class='flag-5'>XY2-100</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b>通信<b class='flag-5'>協(xié)議</b>接口

    i.MX RT的FlexRAM配置問題

    i.MX RT的FlexRAM配置問題
    的頭像 發(fā)表于 10-24 15:46 ?1090次閱讀
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>的FlexRAM配置問題

    淺談i.MX RT10xx系列MCU外接24MHz晶的作用

    淺談i.MX RT10xx系列MCU外接24MHz晶的作用
    的頭像 發(fā)表于 10-30 17:22 ?1284次閱讀
    淺談<b class='flag-5'>i.MX</b> <b class='flag-5'>RT10xx</b>系列MCU外接24MHz晶<b class='flag-5'>振</b>的作用

    i.MX RT1050上如何實現(xiàn)雙大容量存儲(MSC)設(shè)備

    i.MX RT1050上如何實現(xiàn)雙大容量存儲(MSC)設(shè)備
    的頭像 發(fā)表于 10-30 17:08 ?885次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1050上如何<b class='flag-5'>實現(xiàn)</b>雙大容量存儲(MSC)設(shè)備

    i.MX RT1010的I2C Slave時鐘延展功能小記

    i.MX RT1010的I2C Slave時鐘延展功能小記
    的頭像 發(fā)表于 09-27 16:22 ?1956次閱讀
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1010的<b class='flag-5'>I2</b>C Slave時鐘延展功能小記

    如何在i.MX RT控制器上初始化LWIP協(xié)議

    i.MX RT控制器上初始化LWIP協(xié)議棧是一個復(fù)雜但有趣的過程,它涉及多個步驟和關(guān)鍵組件的配置.
    的頭像 發(fā)表于 10-12 11:48 ?745次閱讀
    如何在<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>微<b class='flag-5'>控制</b>器上初始化LWIP<b class='flag-5'>協(xié)議</b>棧
    主站蜘蛛池模板: 亚洲爱爱图片 | 91福利社在线观看 | 99成人| 性叉叉| 久久不射影院 | 最新国产你懂的在线网址 | 欧美在线一区二区三区 | 99久久精品久久久久久婷婷 | 加勒比啪啪 | 91大神在线视频观看 | 人与禽一级一级毛片 | 浓厚な接吻と肉体の交在线观看 | 色网站欧美 | 亚洲免费二区三区 | 天堂网ww| 婷婷在线观看香蕉五月天 | 国产成人午夜片在线观看 | 四虎影院在线网址 | 亚洲操综合 | 欧美一区精品 | 中国胖女人一级毛片aaaaa | 欧美福利片在线观看 | 国产中日韩一区二区三区 | 免费一级特黄特色大片在线观看看 | 色噜噜亚洲精品中文字幕 | 一级女性黄 色生活片 | 天堂在线天堂最新版在线www | 色噜噜亚洲 | 男人不识本网站上遍色站也枉然 | 色爱综合网欧美 | 夜间免费视频 | 亚洲视频区 | 506rr亚洲欧美 | 亚洲精品视频专区 | 色狠狠xx | 日韩亚洲欧洲在线rrrr片 | 男人女人的免费视频网站 | 色六月婷婷 | 国产亚洲精品仙踪林在线播放 | 亚洲欧美强伦一区二区另类 | 欧美一级艳片视频免费观看 |