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

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

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

3天內不再提示

在i.MX RT10xx使用FlexIO實現XY2-100振鏡控制協議

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

一、概述

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

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

二、XY2-100振鏡協議簡介

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

XY2-100協議包括四路信號

SECLOCK(時鐘信號)

SYNC(同步信號)

CHANNELX(X 通道數據)

CHANNELY(Y 通道數據)

這四路信號是一種同步串行傳輸的過程,數據時序圖如下所示。

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

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

三、利用FlexIO模擬XY2-100

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

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

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

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

下圖顯示了FlexIO模擬XY2-100接口的內部連接關系。

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

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

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

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

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

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

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

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協議實際測試運行

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

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

小結

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

審核編輯:湯梓紅

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

    關注

    146

    文章

    17317

    瀏覽量

    352642
  • 通信接口
    +關注

    關注

    3

    文章

    240

    瀏覽量

    31062
  • 控制協議
    +關注

    關注

    0

    文章

    11

    瀏覽量

    6960
  • 振鏡
    +關注

    關注

    3

    文章

    22

    瀏覽量

    15138
  • 時鐘信號
    +關注

    關注

    4

    文章

    453

    瀏覽量

    28665

原文標題:在i.MX RT10xx 使用FlexIO實現XY2-100振鏡控制協議

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

收藏 人收藏

    評論

    相關推薦

    i.MX RT1xxx 系列的時鐘系統以及相關功能引腳

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

    i.MX RT10xx系列外部晶相關引腳的作用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    一、概述 本文介紹了如何使用i.MX RT系列芯片上的FlexIO實現XY2-100激光
    的頭像 發表于 05-18 09:22 ?3822次閱讀
    如何在<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'>協議</b>接口

    i.MX RT的FlexRAM配置問題

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

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

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

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

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

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

    i.MX RT1010的I2C Slave時鐘延展功能小記
    的頭像 發表于 09-27 16:22 ?1608次閱讀
    <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協議

    i.MX RT控制器上初始化LWIP協議棧是一個復雜但有趣的過程,它涉及多個步驟和關鍵組件的配置.
    的頭像 發表于 10-12 11:48 ?437次閱讀
    如何在<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>微<b class='flag-5'>控制</b>器上初始化LWIP<b class='flag-5'>協議</b>棧
    主站蜘蛛池模板: 欧美日韩啪啪 | 日本在线不卡一区二区 | 亚洲午夜影视 | 欧美大尺度aaa级毛片 | 四虎国产欧美成人影院 | 午夜在线播放视频 | 欧美国产在线一区 | 天天天天天天操 | 99免费观看视频 | 午夜刺激爽爽视频免费观看 | 神马三级我不卡 | 韩国a级床戏大尺度在线观看 | 成年女人毛片免费视频 | 一级特黄女人生活片 | 欧美特级午夜一区二区三区 | 国产理论精品 | 很黄的网站在线观看 | 国产精品手机在线 | 日本一区二区三区在线 视频观看免费 | 精品热99| 国模吧一区二区三区精品视频 | 亚洲欧美视频二区 | 欧美jizzhd精品欧美4k | 91色在线播放 | 男人和女人做爽爽视频在线观看 | 夜夜骚视频 | 亚洲午夜久久久久久噜噜噜 | www.91在线| 日本一区视频在线播放 | 日本特级淫片免费 | 奇米影视四色7777 | 午夜三级网 | 男女交性高清视频无遮挡 | 男女交性视频免费播放 | 日日添天天做天天爱 | 操亚洲| 日本香蕉视频 | 亚洲国产成人精品女人久久久 | 色播影院性播影院私人影院 | 99热久久久久久久免费观看 | 国产女人18毛片水真多18精品 |