• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SPI讀取絕對值編碼器SSI信號的方法設(shè)計(jì)概述

      2020-05-25 02:28:07梁昌鵬陳天桂李雪景
      科學(xué)與信息化 2020年5期

      梁昌鵬 陳天桂 李雪景

      摘 要 SSI是絕對值角度編碼器最常見的輸出方式,基于單片機(jī)普遍沒有SSI接口,介紹一種單片機(jī)普遍都有的SPI讀取絕對值編碼器SSI輸出的方法,實(shí)現(xiàn)了輸出信號的角度轉(zhuǎn)換。文章從硬件和軟件兩方面給出了設(shè)計(jì)的思路和方法。

      關(guān)鍵詞 SSI;SPI;絕對值編碼器

      引言

      相對增量式編碼器,絕對值編碼器具有分辨率高、絕對位置定位精度高和抗干擾性強(qiáng)等優(yōu)點(diǎn),越來越多使用在工控上,其輸出信號方式有并行和串行輸出,由于絕對值編碼器分辨率少則十幾位的精度,所以絕對值編碼器常用串行輸出。而串行方式有很多輸出接口,如同步串行接口SSI、BiSS、CANopen等,其中SSI是絕對值編碼器最常用的串行方式。在工控系統(tǒng)中,絕對值編碼器SSI信號的正確讀取是非常重要的,而單片機(jī)一般沒有對應(yīng)的SSI接口,傳統(tǒng)的方法是用幾個(gè)IO口模擬SSI通信協(xié)議進(jìn)行讀取,但這會給軟件上增加成本。利用一般單片機(jī)集成的SPI,對SSI通信協(xié)議進(jìn)行模擬,可實(shí)時(shí)讀取輸出信號,減少了軟件上的成本。本文基于STM32系列MCU芯片為控制核心的基礎(chǔ)上,搭建電機(jī)測試平臺,用SPI模擬SSI接口協(xié)議,讀取絕對值編碼器角度信號,實(shí)現(xiàn)電機(jī)的正常運(yùn)轉(zhuǎn)。

      1 總體設(shè)計(jì)思路

      1.1 設(shè)計(jì)方案

      以STM32系列MCU作為接收信號的芯片,基于SPI的絕對值編碼器SSI接口讀出方法的設(shè)計(jì)框圖如圖一。

      SSI接口出來的是兩組422差分?jǐn)?shù)字信號,經(jīng)過一組邏輯電平轉(zhuǎn)換電路,轉(zhuǎn)換成兩組可以讓STM32系列芯片識別的單端LVTLL信號,與芯片SPI接口的兩個(gè)端子MISO和SCK對接,通過軟件解析SPI接收到的SSI信號,從而完成對編碼器輸出信號的讀取工作。

      1.2 基于SPI讀出SSI信號的工作原理

      SSI是一種同步的、串行的數(shù)字傳輸,時(shí)鐘由作為主機(jī)的單片機(jī)發(fā)出,數(shù)據(jù)由作為從機(jī)的編碼器發(fā)出,配合時(shí)鐘同步響應(yīng),通訊是單向的。SSI輸出的是二進(jìn)制碼,信息包括編碼器的位置值和狀態(tài)位等,其時(shí)序圖如圖2。

      其中Clock為輸入時(shí)鐘;Data為編碼器輸出信號;T為一個(gè)時(shí)鐘信號的周期且0.1MHz≤1/T≤2MHz;Tm為數(shù)據(jù)中斷時(shí)間;Tp為時(shí)鐘脈沖高位時(shí)間;MSB為編碼器數(shù)據(jù)高位;LSB為編碼器數(shù)據(jù)低位。

      SPI是一種高速的、全雙工、同步的通信總線,可以同時(shí)發(fā)出和接收串行數(shù)據(jù),以及提供頻率可編程的時(shí)鐘SCK,實(shí)現(xiàn)兩個(gè)設(shè)備之間的數(shù)據(jù)傳輸。SPI時(shí)序圖如圖3。

      對比兩者的時(shí)序圖可以看出SPI通信協(xié)議中的四種時(shí)序模式需要配置成第一種時(shí)序模式,也就是CPOL=1以及CPHA=0的時(shí)序模式下才能與SSI接口對接,完成輸出信號的讀取工作[1]。

      2 硬件的電路設(shè)計(jì)

      SPI接口連接SSI接口所需要的邏輯電平轉(zhuǎn)換電路原理圖如圖4。

      其中DATO+、DATO-、CLKO+和CLKO-是SSI接口的兩組差分信號,SN65HVD50DR是一款全雙工RS485驅(qū)動器和接收器芯片,把濾波后的差分信號轉(zhuǎn)換成可以讓SPI接收的TTL信號SSI_DATA和SSI_CLK。R303和R311是用來消除差模干擾,保證穩(wěn)定性的[2]。

      3 軟件設(shè)計(jì)

      3.1 SPI模式的軟件設(shè)計(jì)

      帶SPI接口的主控芯片選擇STM32系列的MCU,開發(fā)環(huán)境選擇keil MDK,使用C語言進(jìn)行軟件程序編程。由于SPI每一幀數(shù)據(jù)是8位或者16位的,需要根據(jù)絕對值編碼器的位數(shù)選擇合適的數(shù)據(jù)幀格式進(jìn)行設(shè)置。由于只需要接收SSI的信號,可以配置SPI為單工只接收通信模式。設(shè)置SPI為主機(jī)模式,發(fā)送的時(shí)鐘脈沖頻率配置在SSI時(shí)鐘脈沖頻率范圍內(nèi),并通過CPOL=1以及CPHA=0來設(shè)置SPI工作在第一種時(shí)序模式。由于SPI在第一個(gè)時(shí)鐘下降沿就開始采集信號,而SSI是第二個(gè)時(shí)鐘下降沿傳輸信號,所以從SPI接口中讀取的信號中要去除第一個(gè)信號,以第二個(gè)信號開始作為準(zhǔn)確的角度數(shù)據(jù)進(jìn)行解析。

      3.2 控制系統(tǒng)的軟件設(shè)計(jì)

      基于SPI讀出絕對值編碼器SSI信號的控制系統(tǒng)軟件設(shè)計(jì)主要是MCU的各種模塊的初始化。MCU模塊初始化是對各種寄存器進(jìn)行設(shè)置,包括各種定時(shí)器TIM的初始化。其中高級定時(shí)器TIM1的初始化可以設(shè)置PWM的死區(qū)互補(bǔ),適合用來配置驅(qū)動器所需要的PWM波形,并根據(jù)SPI讀出的編碼器SSI信息所代表的電機(jī)轉(zhuǎn)子位置來配置PWM的輸出模式,從而實(shí)時(shí)改變MOSFET的導(dǎo)通順序,實(shí)現(xiàn)永磁同步電機(jī)的運(yùn)轉(zhuǎn)。

      4 系統(tǒng)測試

      絕對值編碼器安裝在永磁同步電機(jī)軸上為控制系統(tǒng)提供電機(jī)的轉(zhuǎn)子位置,選擇分辨率為12位的,輸出的數(shù)據(jù)信號時(shí)序圖如圖5,由STM32系列的MCU通過SPI采集后的信號如圖6,可以看出信號讀取的準(zhǔn)確性。筆者以基于SPI讀出編碼器SSI信號的STM32系列MCU作為控制系統(tǒng)的主控芯片,進(jìn)行電機(jī)的位置測試,實(shí)現(xiàn)了永磁同步電機(jī)的正常運(yùn)轉(zhuǎn)。經(jīng)過測試表明,SPI讀取到的編碼器SSI角度信號準(zhǔn)確地反映了電機(jī)的轉(zhuǎn)子位置。

      5 結(jié)束語

      本文從硬件和軟件兩方面設(shè)計(jì)闡述了基于SPI的絕對值編碼器SSI接口的信號讀出方法,相比于IO口模擬SSI協(xié)議的方法節(jié)約了CPU的資源,基于此讀出方法的伺服驅(qū)動系統(tǒng)也實(shí)現(xiàn)了與永磁同步電機(jī)的匹配調(diào)試。

      參考文獻(xiàn)

      [1] STM32F10XXX Users manual[M]. STMicroelectronics,2009:1-548.

      [2] 陳志同.基于SSI協(xié)議的絕對值編碼器通信接口研究[D].天津:天津理工大學(xué),2014.

      昌平区| 璧山县| 普陀区| 柘城县| 吴川市| 苏尼特右旗| 德惠市| 南华县| 昌图县| 铜山县| 龙岩市| 获嘉县| 南京市| 都匀市| 巴里| 南丹县| 金门县| 祁阳县| 南康市| 沿河| 乌鲁木齐县| 黄大仙区| 巴塘县| 黎川县| 宁都县| 泰安市| 曲水县| 高雄市| 通辽市| 隆化县| 神木县| 南宁市| 花莲县| 霍州市| 芒康县| 淮安市| 名山县| 育儿| 内黄县| 嘉定区| 唐海县|