1.一種應(yīng)用于BLE5.0協(xié)議系統(tǒng)的軟硬件交互接口,其特征在于:所述接口是一種基于鏈表的軟硬件交互接口,完成控制器和物理層之間的數(shù)據(jù)及信息交互,該接口基于Event實(shí)現(xiàn),實(shí)現(xiàn)時(shí)每個(gè)Event使用一個(gè)名為ECPT的結(jié)構(gòu)表示,每個(gè)ECPT包含了描述一個(gè)Event的所有參數(shù)信息,ECPT結(jié)構(gòu)關(guān)聯(lián)一個(gè)數(shù)據(jù)接收鏈表和一個(gè)數(shù)據(jù)發(fā)送鏈表,軟硬件交互接口的硬件側(cè)通過(guò)周期性地輪詢Event列表來(lái)判斷ECPT是否有效。
2.一種應(yīng)用于BLE5.0協(xié)議系統(tǒng)的軟硬件交互方法,其特征在于,優(yōu)選的,所述方法是一種基于鏈表的軟硬件交互方法,完成控制器和物理層之間的數(shù)據(jù)及信息交互,包括如下步驟:
(1)當(dāng)BLE5.0系統(tǒng)進(jìn)行數(shù)據(jù)發(fā)送操作時(shí),軟硬件交互接口的軟件側(cè)將準(zhǔn)備好的數(shù)據(jù)放在發(fā)送緩存中;
(2)設(shè)置ECPT有效標(biāo)志來(lái)告知軟硬件交互接口硬件側(cè)進(jìn)行數(shù)據(jù)發(fā)送;
(3)當(dāng)硬件輪詢到該ECPT有效時(shí),依據(jù)ECPT中指定的參數(shù)獲取發(fā)送緩存中的內(nèi)容,并將待發(fā)送數(shù)據(jù)發(fā)送到空口;
(4)當(dāng)BLE5.0系統(tǒng)進(jìn)行數(shù)據(jù)接收時(shí),硬件將接收到的數(shù)據(jù)進(jìn)行解白化、CRC校驗(yàn)操作后放在接收緩存中,通過(guò)中斷方式告知軟硬件交互接口軟件側(cè),交互接口軟件側(cè)獲取中斷并將數(shù)據(jù)取出進(jìn)而交由上層軟件進(jìn)行進(jìn)一步處理。
3.根據(jù)權(quán)利要求2所述的一種應(yīng)用于BLE5.0協(xié)議系統(tǒng)的軟硬件交互方法,其特征在于所述方法包括三種交互方式,分別為共享內(nèi)存、寄存器組和中斷,共享內(nèi)存用于完成設(shè)備間數(shù)據(jù)收發(fā)過(guò)程控制及數(shù)據(jù)包傳遞的步驟,寄存器組用于完成硬件參數(shù)配置以及在設(shè)備工作過(guò)程中完成狀態(tài)參數(shù)的獲取的步驟,中斷功能用于完成異步通知軟件執(zhí)行相關(guān)動(dòng)作的步驟。
4.根據(jù)權(quán)利要求2或3所述的一種應(yīng)用于BLE5.0協(xié)議系統(tǒng)的軟硬件交互方法,其特征在于所述軟硬件交互方法在共享內(nèi)存下實(shí)現(xiàn)。
5.一種BLE5.0協(xié)議系統(tǒng),其特征在于:所述BLE協(xié)議棧由下到上分為物理層、核心協(xié)議棧和應(yīng)用層協(xié)議棧,其中核心協(xié)議棧包括主機(jī)協(xié)議棧和控制器,主機(jī)協(xié)議棧包括安全管理協(xié)議、屬性協(xié)議、邏輯鏈路控制和適配層協(xié)議,控制器包括鏈路層,物理層包括基帶和射頻,所述主機(jī)協(xié)議棧和控制器之間采用協(xié)議規(guī)定的HCI接口協(xié)議進(jìn)行通信,所述控制器和物理層之間采用基于鏈表的軟硬件交互接口完成數(shù)據(jù)及信息交互。
6.根據(jù)權(quán)利要求5所述的一種BLE5.0協(xié)議系統(tǒng),其特征在于:該系統(tǒng)可通過(guò)單芯片模式或雙芯片模式實(shí)現(xiàn)。
7.根據(jù)權(quán)利要求5所述的一種BLE5.0協(xié)議系統(tǒng),其特征在于:所述鏈路層與主機(jī)協(xié)議棧通信通過(guò)HCI接口實(shí)現(xiàn),與硬件的交互通過(guò)共享內(nèi)存實(shí)現(xiàn)。
8.一種實(shí)現(xiàn)鏈路層分層的BLE5.0協(xié)議系統(tǒng),包括主機(jī)協(xié)議棧、控制器、物理層,控制器包括鏈路層,物理層包括基帶和射頻,所述控制器和物理層之間采用軟硬件交互接口完成數(shù)據(jù)及信息交互,其特征在于:所述鏈路層劃分為如下模塊:
管理模塊,負(fù)責(zé)鏈路層頂層狀態(tài)機(jī)的管理和跳轉(zhuǎn);
控制模塊,完成在連接狀態(tài)下設(shè)備間信息交互及狀態(tài)信息維護(hù),同時(shí)提供數(shù)據(jù)及控制信息通路,完成設(shè)備狀態(tài)管理及數(shù)據(jù)傳輸;
公共模塊,負(fù)責(zé)接收來(lái)自主機(jī)側(cè)的配置命令,以及向主機(jī)側(cè)傳遞命令執(zhí)行結(jié)果;
調(diào)試模塊,負(fù)責(zé)完成直測(cè)模式下系統(tǒng)工作狀態(tài)管理,同時(shí)在開(kāi)發(fā)階段進(jìn)行硬件的測(cè)試和調(diào)試;
驅(qū)動(dòng)模塊,是軟硬件接口的實(shí)現(xiàn)模塊,負(fù)責(zé)數(shù)據(jù)流在硬件和軟件之間的交互,同時(shí)是系統(tǒng)廣播、掃描、初始化、連接功能的實(shí)現(xiàn)模塊。
9.根據(jù)權(quán)利要求8所述的一種實(shí)現(xiàn)鏈路層分層的BLE5.0協(xié)議系統(tǒng),其特征在于:所述頂層狀態(tài)機(jī)包括廣播態(tài)、掃描態(tài)、起始態(tài)、連接態(tài)和空閑態(tài),該五種狀態(tài)的維護(hù)由管理模塊實(shí)現(xiàn)。
10.根據(jù)權(quán)利要求8所述的一種實(shí)現(xiàn)鏈路層分層的BLE5.0協(xié)議系統(tǒng),其特征在于:所述管理模塊實(shí)現(xiàn)在廣播態(tài),掃描態(tài),起始態(tài)等非連接狀態(tài)下實(shí)現(xiàn)對(duì)設(shè)備的管理和調(diào)度,完成和主機(jī)側(cè)的事件及命令交互。
11.根據(jù)權(quán)利要求8所述的一種實(shí)現(xiàn)鏈路層分層的BLE5.0協(xié)議系統(tǒng),其特征在于:所述驅(qū)動(dòng)模塊由管理模塊、控制模塊、公共模塊直接調(diào)度。
12.根據(jù)權(quán)利要求8所述的一種實(shí)現(xiàn)鏈路層分層的BLE5.0協(xié)議系統(tǒng),其特征在于:所述各個(gè)模塊均由單獨(dú)的狀態(tài)機(jī)實(shí)現(xiàn),模塊間采用消息傳遞機(jī)制完成信息傳遞。
13.根據(jù)權(quán)利要求8所述的一種實(shí)現(xiàn)鏈路層分層的BLE5.0協(xié)議系統(tǒng),其特征在于:所述鏈路層與主機(jī)協(xié)議棧通信通過(guò)HCI接口實(shí)現(xiàn),與物理層的交互通過(guò)共享內(nèi)存實(shí)現(xiàn)。
14.根據(jù)權(quán)利要求8所述的一種實(shí)現(xiàn)鏈路層分層的BLE5.0協(xié)議系統(tǒng),其特征在于:所述軟硬件交互接口是一種基于鏈表的軟硬件交互接口,完成控制器和物理層之間的數(shù)據(jù)及信息交互,該接口基于Event實(shí)現(xiàn),實(shí)現(xiàn)時(shí)每個(gè)Event使用一個(gè)名為ECPT的結(jié)構(gòu)表示,每個(gè)ECPT包含了描述一個(gè)Event的所有參數(shù)信息,ECPT結(jié)構(gòu)關(guān)聯(lián)一個(gè)數(shù)據(jù)接收鏈表和一個(gè)數(shù)據(jù)發(fā)送鏈表,軟硬件交互接口的硬件側(cè)通過(guò)周期性地輪詢Event列表來(lái)判斷ECPT是否有效。
15.根據(jù)權(quán)利要求14所述的一種實(shí)現(xiàn)鏈路層分層的BLE5.0協(xié)議系統(tǒng),其特征在于所述軟硬件交互接口在共享內(nèi)存下實(shí)現(xiàn)。