DAV首頁(yè)
數字音視工程網(wǎng)

微信公眾號

數字音視工程網(wǎng)

手機DAV

null
null
null
卓華,
招商,
null
null
null
快捷,
null

我的位置:

share

視頻監控I2C總線(xiàn)云臺電機控制設計

來(lái)源:數字音視工程網(wǎng)        編輯:merry2013    2015-05-25 06:21:48     加入收藏    咨詢(xún)

咨詢(xún)
所在單位:*
姓名:*
手機:*
職位:
郵箱:*
其他聯(lián)系方式:
咨詢(xún)內容:
驗證碼:
不能為空 驗證碼錯誤
確定

近年來(lái),隨著(zhù)視頻技術(shù)發(fā)展,網(wǎng)絡(luò )穩定性能快速提高,視頻監控需求越來(lái)越大,其應用領(lǐng)域也越來(lái)越廣泛。社會(huì )的發(fā)展,汽車(chē)增量不斷增多,道路上各種違章的車(chē)...

  近年來(lái),隨著(zhù)視頻技術(shù)發(fā)展,網(wǎng)絡(luò )穩定性能快速提高,視頻監控需求越來(lái)越大,其應用領(lǐng)域也越來(lái)越廣泛。社會(huì )的發(fā)展,汽車(chē)增量不斷增多,道路上各種違章的車(chē)輛也逐漸增多,為了構建一個(gè)平安交通和智能交通,視頻監控系統在交通行業(yè)的應用也越來(lái)越多,為了能全方位的對高速公路進(jìn)行監控,視頻監控的高速球也應用越來(lái)越廣泛。

  本文將研究詳細分析I2C的工作原理和通信協(xié)議和Linux的I2C總線(xiàn)驅動(dòng)程序,設計一個(gè)應用在高速公路視頻監控的基于I2C云臺電機驅動(dòng)系統,為高速公路的全方位視頻監控提供一個(gè)設計方案。

  高速公路視頻監控系統以及云臺電機整體設計

  本研究課題的高速公路高清視頻監控系統采用TI公司的TMS320DM368,DM368是一款面向多媒體技術(shù)應用的高性能芯片,功能強大,集成了ARM926EJ-S內核、硬件編碼協(xié)處理引擎( HDVICP)、圖像處理子系統( VPSS)。DM368頻率高達432MH,支持多格式解碼、多速率以及高清多通道功能,最高可以支持H.264編碼1080P格式30幀/s的速度,而且還可提供多種獨立式音頻、語(yǔ)音以及高清視頻編解碼器(H.264)。該處理器有I2C總線(xiàn)等外圍接口等,其中ARM9運行開(kāi)源、性能穩定安全Linux嵌入式操作系統。

  視頻監控系統中云臺電機控制的設計采用DM368的I2C總線(xiàn)接口,設計基于A(yíng)RM9的I2C云臺電機,完成驅動(dòng)程序設計和應用程序設計,以及應用程序控制電機轉動(dòng),應用于視頻監控系統中,達到全方位的高速公路視頻監控。

  I2C硬件構成和通信協(xié)議

  I2C總線(xiàn)是由雙向數據線(xiàn)和時(shí)鐘線(xiàn)構成的二線(xiàn)制串行總線(xiàn),總線(xiàn)采用主從雙向通信,即總線(xiàn)上在某一時(shí)刻只有一個(gè)主設備總線(xiàn)上的其他設備都作為從設備,任何能夠進(jìn)行發(fā)送和接收的設備都可以成為主設備,但是在同一時(shí)間內只能有一個(gè)設備作為主設備,通常為處理器,其他器件作為從設備與主設備進(jìn)行通信,采用唯一的I2C地址識別。

  如圖1I2C的工作時(shí)序圖所示,I2C總線(xiàn)在傳送數據過(guò)程中使用了三種信號。(1)開(kāi)始信號:SCL為高電平時(shí),SDA由高電平向低電平跳變,表示將要開(kāi)始傳送數據;(2)應答信號:從設備在接收到1個(gè)字節數據后向主設備發(fā)出一個(gè)低電平脈沖應答信號,表示已收到數據,主設備根據從設備的應答信號做出是否繼續傳輸數據的操作(I2C總線(xiàn)每次數據傳輸時(shí)字節數不限制,但是每發(fā)送都要有一個(gè)應答信號);(3)結束信號:為低電平時(shí)由低電平向高電平跳變,表示數據傳送結束。

  總線(xiàn)具體的通信工作原理:主設備首先發(fā)出開(kāi)始信號,接著(zhù)發(fā)送的1個(gè)字節的數據,其由高7位地址碼和最低1位方向位組成(方向位表明主設備與從設備間數據的傳送方向)。系統中所有從設備將自己的地址與主設備發(fā)送到總線(xiàn)上的地址進(jìn)行比較,如果從設備地址與總線(xiàn)上的地址相同,該設備就是與主設備進(jìn)行數據傳輸的設備。接著(zhù)進(jìn)行數據傳輸,根據方向位,主設備接收從設備數據或發(fā)送數據到從設備。當數據傳送完成后,主設備發(fā)出一個(gè)停止信號,釋放I2C總線(xiàn),然后所有從設備等待下一個(gè)開(kāi)始信號的到來(lái)。

  I2C的Linux和ARM驅動(dòng)設計

  (1)Linux2.6.32的I2C驅動(dòng)分析

  I2C由主設備和從設備構成,通信上通過(guò)識別I2C地址進(jìn)行通信,即可以存在多個(gè)i2c adapter適配器和多個(gè)外設i2c device,Linux的I2C驅動(dòng)采用分層設計實(shí)現的思想,層與層之間不存在耦合,增加adapter和增加device不會(huì )影響其他驅動(dòng),具體分層如下。

  第一層:提供i2c adapter的硬件驅動(dòng),探測、初始化i2c adapter(如申請i2c地址和中斷號),驅動(dòng)處理器控制的i2c adapter在硬件上產(chǎn)生信號(start、stop、ack)以及處理i2c中斷,涉及圖2中的硬件實(shí)現層。

  第二層:提供i2c adapter的algorithm,用具體適配器的xxx_xfer()函數來(lái)填充i2c_algorithm的master_xfer函數指針,并把賦值后的i2c_algorithm,再賦值給i2c_adapter的成員指針,主要涉及圖2中訪(fǎng)問(wèn)抽象層、i2c核心層。

  第三層:實(shí)現i2c設備驅動(dòng)中的i2c_driver接口,用具體的i2c device設備的i2c_add_driver ()、i2c_del_driver ()方法賦值給i2c_driver的成員函數指針,采用Probe探尋方式實(shí)現設備device與總線(xiàn)的掛接,涉及圖2中的driver驅動(dòng)層,此層是本文實(shí)現的驅動(dòng)部分。

  第四層:實(shí)現i2c設備所對應的具體device的驅動(dòng),i2c_driver只是實(shí)現設備與總線(xiàn)的掛接,掛接在總線(xiàn)上的設備千差萬(wàn)別的,所以要實(shí)現具體設備device的write()、read()、ioctl()等方法,賦值給file_operations,然后注冊字符設備,涉及圖2中的driver驅動(dòng)層,此層是本文實(shí)現的驅動(dòng)部分。

  第一層和第二層又叫i2c總線(xiàn)驅動(dòng)(bus driver),第三層和第四層屬于i2c設備驅動(dòng)(device driver)。在Linux驅動(dòng)架構中,不需要再開(kāi)發(fā)總線(xiàn)驅動(dòng),因為L(cháng)inux內核幾乎集成所有總線(xiàn)驅動(dòng),驅動(dòng)設計主要是實(shí)現第三層和第四層的設備驅動(dòng)。

免責聲明:本文來(lái)源于網(wǎng)絡(luò )收集,本文僅代表作者個(gè)人觀(guān)點(diǎn),本站不作任何保證和承諾,若有任何疑問(wèn),請與本文作者聯(lián)系或有侵權行為聯(lián)系本站刪除。(原創(chuàng )稿件未經(jīng)許可,不可轉載,轉載請注明來(lái)源)
掃一掃關(guān)注數字音視工程網(wǎng)公眾號

相關(guān)閱讀related

評論comment

 
驗證碼:
您還能輸入500
    国产av福利久久精品can动漫|2021精品国产自在现线|亚洲无线观看国产高清|欧洲人妻丰满av无码久久不卡|欧美情侣性视频