亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法

文檔序號(hào):6507076閱讀:239來(lái)源:國(guó)知局
一種支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,通過(guò)FIFO實(shí)現(xiàn),F(xiàn)IFO包括發(fā)送部和接收部,F(xiàn)IFO具有第一寬度;在寫(xiě)入控制方法中,外部CPU向FIFO寫(xiě)入具有第一長(zhǎng)度的數(shù)據(jù),第一長(zhǎng)度的數(shù)據(jù)通過(guò)一解碼器解析成多個(gè)具有第一寬度的字節(jié),再按先后順序依次寫(xiě)入FIFO的發(fā)送部,最后發(fā)送給從機(jī);在讀取控制方法中,F(xiàn)IFO通過(guò)發(fā)送部將從外部CPU接收到的讀取地址寫(xiě)入從機(jī)后,根據(jù)讀取地址讀取從從機(jī)返回的數(shù)據(jù)至FIFO的接收部,最后通過(guò)編碼器生成具有第二長(zhǎng)度的數(shù)據(jù)并傳送給外部CPU。本發(fā)明支持單次寫(xiě)入從機(jī)的多個(gè)寄存器地址,從而減少CPU查詢(xún)主機(jī)空閑狀態(tài)的次數(shù),CPU的使用效率提高至少一倍。
【專(zhuān)利說(shuō)明】一種支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及主從機(jī)間的通訊方法,尤其涉及一種支持批量讀寫(xiě)從機(jī)寄存器的主機(jī) 控制方法。

【背景技術(shù)】
[0002] SCCB(Serial Camera Control Bus)是和 I2C 相同的一個(gè)協(xié)議。SIOJ^P SI0_D 分 別為SCCB總線(xiàn)的時(shí)鐘線(xiàn)和數(shù)據(jù)線(xiàn)。目前,SCCB總線(xiàn)通信協(xié)議支持兩種地址形式:①?gòu)脑O(shè)備 地址(ID Address,8bit),分為讀地址和寫(xiě)地址,高7位用于選中芯片,第0位是讀/寫(xiě)控制 位(R/W),決定是對(duì)該芯片進(jìn)行讀或?qū)懖僮鳎虎趦?nèi)部寄存器單元地址(Sub_Address,8b i t), 用于決定對(duì)內(nèi)部的哪個(gè)寄存器單元進(jìn)行操作,通常還支持地址單元連續(xù)的多字節(jié)順序讀寫(xiě) 操作。SCCB控制總線(xiàn)功能的實(shí)現(xiàn)完全是依靠 SI0_C、SI0_D兩條總線(xiàn)上電平的狀態(tài)以及兩者 之間的相互配合實(shí)現(xiàn)的。以往的SCCB主機(jī)工作時(shí),每次只能寫(xiě)入一個(gè)從機(jī)的寄存器地址, 只有CPU檢測(cè)到SCCB主機(jī)完成讀寫(xiě)操作并處于空閑狀態(tài)后,再寫(xiě)入下一個(gè)寄存器地址,該 種方式會(huì)大量占用CPU的運(yùn)行時(shí)間。第三方的產(chǎn)品利用內(nèi)置FIFO,但是每次發(fā)起傳輸時(shí),都 需通過(guò)CPU寫(xiě)內(nèi)部寄存器的特定bit,進(jìn)行讀寫(xiě)相間的操作時(shí),也需要寫(xiě)內(nèi)部寄存器的特定 bit以改變控制器的模式。圖Ia和圖Ib分別示出了現(xiàn)有技術(shù)中CPU寫(xiě)內(nèi)部寄存器以及讀 內(nèi)部寄存器的流程示意框圖。


【發(fā)明內(nèi)容】

[0003] 針對(duì)上述存在的問(wèn)題,本發(fā)明的目的是提供一種支持批量讀寫(xiě)從機(jī)寄存器的主機(jī) 控制方法,支持單次寫(xiě)入從機(jī)的多個(gè)寄存器地址,從而減少CPU查詢(xún)SCCB主機(jī)空閑狀態(tài)的 次數(shù),降低CPU占用率。
[0004] 本發(fā)明的目的是通過(guò)下述技術(shù)方案實(shí)現(xiàn)的:
[0005] -種支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其中,通過(guò)FIFO實(shí)現(xiàn),所述FIFO 包括發(fā)送部和接收部,所述發(fā)送部用于緩存需要發(fā)送的字節(jié),所述接收部用于緩存從從機(jī) 讀取回的字節(jié),所述FIFO具有第一寬度;
[0006] 所述控制方法包括寫(xiě)入控制方法和讀取控制方法:
[0007] 在所述寫(xiě)入控制方法中,外部CPU通過(guò)數(shù)據(jù)總線(xiàn)向所述FIFO寫(xiě)入具有第一長(zhǎng)度的 數(shù)據(jù),所述第一長(zhǎng)度的數(shù)據(jù)通過(guò)一解碼器解析成多個(gè)具有所述第一寬度的字節(jié),再按先后 順序依次寫(xiě)入所述FIFO的發(fā)送部,最后發(fā)送給從機(jī);
[0008] 在所述讀取控制方法中,所述FIFO通過(guò)所述發(fā)送部將從外部CPU接收到的一讀取 地址寫(xiě)入從機(jī)后,根據(jù)所述讀取地址讀取從從機(jī)返回的數(shù)據(jù)至所述FIFO的接收部,最后通 過(guò)一編碼器生成具有第二長(zhǎng)度的數(shù)據(jù)并傳送給外部CPU ;
[0009] 所述第一長(zhǎng)度和所述第二長(zhǎng)度相等。
[0010] 上述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其中,在所述寫(xiě)入控制方法中,多 個(gè)具有所述第一寬度的字節(jié)包括寫(xiě)入啟動(dòng)位字節(jié),ID及寫(xiě)操作符字節(jié),寫(xiě)入地址字節(jié)和至 少一個(gè)寫(xiě)入數(shù)據(jù)字節(jié)和寫(xiě)入停止位字節(jié),所述寫(xiě)入啟動(dòng)位字節(jié)、所述ID及寫(xiě)操作符字節(jié)、 所述寫(xiě)入地址字節(jié)、至少一個(gè)所述寫(xiě)入數(shù)據(jù)字節(jié)和所述寫(xiě)入停止位字節(jié)按先后順序依次寫(xiě) 入所述FIFO的發(fā)送部。
[0011] 上述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其中,在所述讀取控制方法中,將 一讀取啟動(dòng)位字節(jié)、一 ID及讀操作符字節(jié)、一讀取地址字節(jié)和一讀取停止位字節(jié)按先后順 序?qū)懭胨鯢IFO的發(fā)送部;或者,將一讀取啟動(dòng)位字節(jié)、一長(zhǎng)度字節(jié)、一 ID及讀操作符字 節(jié)、一讀取地址字節(jié)和一讀取停止位字節(jié)按先后順序?qū)懭胨鯢IFO的發(fā)送部。
[0012] 上述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其中,將所述寫(xiě)入啟動(dòng)位字節(jié),所 述ID及寫(xiě)操作符字節(jié),所述寫(xiě)入地址字節(jié)、一個(gè)所述寫(xiě)入數(shù)據(jù)字節(jié)和所述寫(xiě)入停止位字節(jié) 按順序?qū)懭胨鯢IFO的發(fā)送部時(shí),狀態(tài)表示為單次寫(xiě)入;將所述寫(xiě)入啟動(dòng)位字節(jié)、所述ID 及寫(xiě)操作符字節(jié)、所述寫(xiě)入地址字節(jié)、多個(gè)所述寫(xiě)入數(shù)據(jù)字節(jié)和所述寫(xiě)入停止位字節(jié)按順 序?qū)懭胨鯢IFO的發(fā)送部時(shí),狀態(tài)表示為批量寫(xiě)入;將一讀取啟動(dòng)位字節(jié)、一 ID及讀操作 符字節(jié)、一讀取地址字節(jié)和一讀取停止位字節(jié)按先后順序?qū)懭胨鯢IFO的發(fā)送部時(shí),狀態(tài) 表示為單次讀??;將一讀取啟動(dòng)位字節(jié)、一長(zhǎng)度字節(jié)、一 ID及讀操作符字節(jié)、一讀取地址字 節(jié)和一讀取停止位字節(jié)按先后順序?qū)懭胨鯢IFO的發(fā)送部時(shí),狀態(tài)表示為批量讀??;
[0013] 所述控制方法支持所述單次寫(xiě)入、所述批量寫(xiě)入、所述單次讀取和所述批量讀取 四種讀寫(xiě)操作的混合操作。
[0014] 上述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其中,所述混合操作為所述單次 寫(xiě)入與所述批量寫(xiě)入,或者為所述單次寫(xiě)入與所述單次讀取,或者為所述單次讀取與所述 批量寫(xiě)入,或者為所述單次讀取與所述批量讀取。
[0015] 上述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其中,所述第一寬度為lObit,所 述第一長(zhǎng)度和所述第二長(zhǎng)度為32bit。
[0016] 上述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其中,所述從機(jī)為同一個(gè)從機(jī)或 者不同從機(jī)的組合。
[0017] 上述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其中,所述主機(jī)為SCCB主機(jī)或者 I2C主機(jī)。
[0018] 與已有技術(shù)相比,本發(fā)明的有益效果在于:
[0019] 本發(fā)明支持單次寫(xiě)入從機(jī)的多個(gè)寄存器地址,從而減少CPU查詢(xún)主機(jī)空閑狀態(tài)的 次數(shù),CPU的使用效率提高至少一倍。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0020] 圖Ia為現(xiàn)有技術(shù)中CPU寫(xiě)內(nèi)部寄存器的流程示意框圖;
[0021] 圖Ib為現(xiàn)有技術(shù)中CPU讀內(nèi)部寄存器的流程示意框圖;
[0022] 圖2為本發(fā)明支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法的FIFO、從機(jī)與外部CPU 之間的邏輯關(guān)系示意圖;
[0023] 圖3a為本發(fā)明支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法的單次寫(xiě)入控制方法的 流程示意框圖;
[0024] 圖3b為本發(fā)明支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法的單次讀取控制方法的 流程示意框圖;
[0025] 圖4為本發(fā)明支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法的同一從機(jī)的單次寫(xiě)入 與批量寫(xiě)入的混合操作模式中的數(shù)據(jù)字節(jié)示意圖;
[0026] 圖5為本發(fā)明支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法的同一從機(jī)的單次寫(xiě)入 與單次讀取的混合操作模式中的數(shù)據(jù)字節(jié)示意圖;
[0027] 圖6為本發(fā)明支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法的同一從機(jī)的單次讀取 與單次寫(xiě)入的混合操作模式中的數(shù)據(jù)字節(jié)示意圖;
[0028] 圖7為本發(fā)明支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法的同一從機(jī)的單次讀取 與單次寫(xiě)入的混合操作模式中的數(shù)據(jù)字節(jié)示意圖;
[0029] 圖8為本發(fā)明支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法的不同從機(jī)的單次寫(xiě)入 與單次寫(xiě)入的混合操作模式中的數(shù)據(jù)字節(jié)示意圖;
[0030] 圖9為本發(fā)明支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法的不同從機(jī)的單次讀取 與單次讀取的混合操作模式中的數(shù)據(jù)字節(jié)示意圖。

【具體實(shí)施方式】
[0031] 下面結(jié)合原理圖和具體操作實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0032] 參照?qǐng)D2,本發(fā)明一種支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,主要應(yīng)用于 SCCB主機(jī)或者I2C主機(jī)上,通過(guò)FIFO實(shí)現(xiàn),F(xiàn)IFO包括發(fā)送部和接收部,發(fā)送部用于緩存需 要發(fā)送的字節(jié),接收部用于緩存從從機(jī)讀取回的字節(jié),F(xiàn)IFO具有第一寬度。
[0033] 本實(shí)施例中,控制方法包括寫(xiě)入控制方法和讀取控制方法。
[0034] 在寫(xiě)入控制方法中,外部CPU通過(guò)數(shù)據(jù)總線(xiàn)向FIFO寫(xiě)入具有第一長(zhǎng)度的數(shù)據(jù),第 一長(zhǎng)度的數(shù)據(jù)通過(guò)一解碼器解析成多個(gè)具有第一寬度的字節(jié),再按先后順序依次寫(xiě)入FIFO 的發(fā)送部,最后發(fā)送給從機(jī)。
[0035] 在讀取控制方法中,F(xiàn)IFO通過(guò)發(fā)送部將從外部CPU接收到的一個(gè)讀取地址寫(xiě)入從 機(jī)后,根據(jù)讀取地址讀取從從機(jī)返回的數(shù)據(jù)至FIFO的接收部,最后通過(guò)一個(gè)編碼器生成具 有第二長(zhǎng)度的數(shù)據(jù)并傳送給外部CPU。
[0036] 在本發(fā)明的優(yōu)選實(shí)施例中,第一寬度為10bit,第一長(zhǎng)度和第二長(zhǎng)度相等,均為 32bit,對(duì)于發(fā)送部,CPU每次通過(guò)數(shù)據(jù)總線(xiàn)向FIFO寫(xiě)入32bit的數(shù)據(jù),數(shù)據(jù)的格式如表1所 /Jn 〇
[0037] 表 1
[0038]

【權(quán)利要求】
1. 一種支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其特征在于,通過(guò)FIFO實(shí)現(xiàn),所述 FIFO包括發(fā)送部和接收部,所述發(fā)送部用于緩存需要發(fā)送的字節(jié),所述接收部用于緩存從 從機(jī)讀取回的字節(jié),所述FIFO具有第一寬度; 所述控制方法包括寫(xiě)入控制方法和讀取控制方法: 在所述寫(xiě)入控制方法中,外部CPU通過(guò)數(shù)據(jù)總線(xiàn)向所述FIFO寫(xiě)入具有第一長(zhǎng)度的數(shù) 據(jù),所述第一長(zhǎng)度的數(shù)據(jù)通過(guò)一解碼器解析成多個(gè)具有所述第一寬度的字節(jié),再按先后順 序依次寫(xiě)入所述FIFO的發(fā)送部,最后發(fā)送給從機(jī); 在所述讀取控制方法中,所述FIFO通過(guò)所述發(fā)送部將從外部CPU接收到的一讀取地址 寫(xiě)入從機(jī)后,根據(jù)所述讀取地址讀取從從機(jī)返回的數(shù)據(jù)至所述FIFO的接收部,最后通過(guò)一 編碼器生成具有第二長(zhǎng)度的數(shù)據(jù)并傳送給外部CPU ; 所述第一長(zhǎng)度和所述第二長(zhǎng)度相等。
2. 根據(jù)權(quán)利要求1所述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其特征在于,在所 述寫(xiě)入控制方法中,多個(gè)具有所述第一寬度的字節(jié)包括寫(xiě)入啟動(dòng)位字節(jié),ID及寫(xiě)操作符字 節(jié),寫(xiě)入地址字節(jié)和至少一個(gè)寫(xiě)入數(shù)據(jù)字節(jié)和寫(xiě)入停止位字節(jié),所述寫(xiě)入啟動(dòng)位字節(jié)、所述 ID及寫(xiě)操作符字節(jié)、所述寫(xiě)入地址字節(jié)、至少一個(gè)所述寫(xiě)入數(shù)據(jù)字節(jié)和所述寫(xiě)入停止位字 節(jié)按先后順序依次寫(xiě)入所述FIFO的發(fā)送部。
3. 根據(jù)權(quán)利要求2所述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其特征在于,在所 述讀取控制方法中,將一讀取啟動(dòng)位字節(jié)、一 ID及讀操作符字節(jié)、一讀取地址字節(jié)和一讀 取停止位字節(jié)按先后順序?qū)懭胨鯢IFO的發(fā)送部;或者,將一讀取啟動(dòng)位字節(jié)、一長(zhǎng)度字 節(jié)、一 ID及讀操作符字節(jié)、一讀取地址字節(jié)和一讀取停止位字節(jié)按先后順序?qū)懭胨鯢IFO 的發(fā)送部。
4. 根據(jù)權(quán)利要求3所述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其特征在于,將所 述寫(xiě)入啟動(dòng)位字節(jié),所述ID及寫(xiě)操作符字節(jié),所述寫(xiě)入地址字節(jié)、一個(gè)所述寫(xiě)入數(shù)據(jù)字節(jié) 和所述寫(xiě)入停止位字節(jié)按順序?qū)懭胨鯢IFO的發(fā)送部時(shí),狀態(tài)表示為單次寫(xiě)入;將所述寫(xiě) 入啟動(dòng)位字節(jié)、所述ID及寫(xiě)操作符字節(jié)、所述寫(xiě)入地址字節(jié)、多個(gè)所述寫(xiě)入數(shù)據(jù)字節(jié)和所 述寫(xiě)入停止位字節(jié)按順序?qū)懭胨鯢IFO的發(fā)送部時(shí),狀態(tài)表示為批量寫(xiě)入;將一讀取啟動(dòng) 位字節(jié)、一 ID及讀操作符字節(jié)、一讀取地址字節(jié)和一讀取停止位字節(jié)按先后順序?qū)懭胨?FIFO的發(fā)送部時(shí),狀態(tài)表示為單次讀取;將一讀取啟動(dòng)位字節(jié)、一長(zhǎng)度字節(jié)、一 ID及讀操作 符字節(jié)、一讀取地址字節(jié)和一讀取停止位字節(jié)按先后順序?qū)懭胨鯢IFO的發(fā)送部時(shí),狀態(tài) 表示為批量讀?。?所述控制方法支持所述單次寫(xiě)入、所述批量寫(xiě)入、所述單次讀取和所述批量讀取四種 讀寫(xiě)操作的混合操作。
5. 根據(jù)權(quán)利要求4所述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其特征在于,所述 混合操作為所述單次寫(xiě)入與所述批量寫(xiě)入,或者為所述單次寫(xiě)入與所述單次讀取,或者為 所述單次讀取與所述批量寫(xiě)入,或者為所述單次讀取與所述批量讀取。
6. 根據(jù)權(quán)利要求1至5中任意一項(xiàng)所述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其 特征在于,所述第一寬度為lObit,所述第一長(zhǎng)度和所述第二長(zhǎng)度為32bit。
7. 根據(jù)權(quán)利要求6所述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其特征在于,所述 從機(jī)為同一個(gè)從機(jī)或者不同從機(jī)的組合。
8.根據(jù)權(quán)利要求1所述支持批量讀寫(xiě)從機(jī)寄存器的主機(jī)控制方法,其特征在于,所述 主機(jī)為SCCB主機(jī)或者I化主機(jī)。
【文檔編號(hào)】G06F9/30GK104346131SQ201310338377
【公開(kāi)日】2015年2月11日 申請(qǐng)日期:2013年8月5日 優(yōu)先權(quán)日:2013年8月5日
【發(fā)明者】李世瑋, 陳朝杰 申請(qǐng)人:豪威科技(上海)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1