本方案采用迪文T5L1芯片作為整機控制核心,接收并處理觸控、ADC采集、PWM控制信息,驅動3.5寸液晶屏實時顯示當前狀態。支持通過WiFi模塊實現LED光源亮度的遠程觸控調節,支持語音報警。
方案特點
1、采用T5L芯片高頻率運行,AD模擬采樣穩定,誤差小;2、支持TYPE C直連PC機進行調試、程序燒錄;3、支持高速OS核接口,16bit并口;UI核PWM口、AD口引出,低成本應用設計,無需增加額外MCU;4、支持WiFi、藍牙遠程控制;5、支持5~12V DC寬電壓寬范圍輸入。
1.1 方案框圖
1.2 方案背板實物圖
1.3用戶界面
方案完整資料包下載請前往迪文開發者論壇獲取:
http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=5415&extra=page%3D1&page=1 方案簡介
(1)硬件電路設計
1.4 T5L48320C035電路圖
1、MCU邏輯供電3.3V:C18, C26, C27, C28, C29, C31, C32, C33 ;2、MCU內核供電1.25V:C23, C24;3、MCU模擬供電3.3V:C35為MCU模擬供電。排版時,內核1.25V地和邏輯地可以并在一起,但模擬地必須分開,模擬地要和數字地在LDO的輸出大電容負極匯集,模擬正極也要在LDO大電容正極匯集,使AD采樣噪聲達到最低。4、AD模擬信號采集電路:CP1為AD模擬輸入濾波電容。為減少采樣誤差,MCU的模擬地和數字地獨立分開,CP1的負極必須最小阻抗連接到MCU模擬地,晶振的2顆并聯電容接到MCU模擬地。5、蜂鳴器電路:C25為蜂鳴器供電電容。蜂鳴器是電感器件,工作時會有尖峰電流,為了降低尖峰,需把蜂鳴器MOS驅動電流調小,使MOS管工作在線性區域,并設計電路讓它工作在開關模式。注意R18需并聯在蜂鳴器兩端,用于調節蜂鳴器聲音品質,使蜂鳴器聲音清脆悅耳。6、WiFi電路:WiFi芯片采樣ESP32-C,帶WiFi+Bluetooth+BLE。布線上,射頻功率地和信號地分開。
1.5 WiFi 電路設計
上圖中,上半部敷銅是功率地回路,WiFi天線反射地回路必須要大面積到功率地,功率地的匯集點在C6負極。功率地和WiFi天線之間要提供反射電流,所以WiFi天線下邊必須要有敷銅,敷銅長度超過WiFi天線延伸長度,延伸長點會使WiFi靈敏度增加;下半部敷銅作為信號地,匯集點在C2負極。大面積敷銅可以屏蔽WiFi天線輻射帶來的噪聲。2個敷銅地在底層分開,通過過孔匯集到ESP32-C中間焊盤。射頻功率地需要比信號地回路更低的阻抗,因此功率地到芯片焊盤有6個過孔,保證足夠低的阻抗。晶振地回路不能有射頻功率地流過,不然晶振產生頻抖,WiFi頻率偏移無法收發數據了。7、背光LED供電電路:SOT23-6LED驅動芯片采樣。DC/DC 給LED供電獨立構成回路,DC/DC的地接到3.3V LOD地。由于PWM2口內核已經做專用化了,輸出600K的PWM信號,增加一個RC把PWM輸出當作一個ON/OFF控制。8、電壓輸入范圍:設計2個DC/DC降壓。注意DC/DC電路中R13, R17電阻不能省,2個DC/DC芯片支持最高18V輸入的,方便外部供電。9、USB TYPE C調試口:TYPE C 可正反插拔,正向插入和WIFI芯片ESP32-C通訊,以便給WIFI芯片燒錄代碼;反向插入和XR21V1410IL16通訊,以便給T5L燒錄代碼。TYPE C支持5V供電。10、并口通訊:T5L OS核有很多IO口空閑,可以設計16bit并口通訊。結合ST ARM FMC并口協議,支持同步讀寫。11、LCM RGB高速接口設計:T5L RGB輸出直連LCM RGB,中間中間加緩沖電阻,降低LCM水紋波干擾。布線時,降低RGB接口連線長度,特別是PCLK信號,增加RGB接口PCLK, HS, VS, DE測試點;屏SPI口連接到T5L的P2.4~P2.7口,方便自由度設計屏驅動。引出RST、nCS、SDA、SCI測試點,便于底層軟件開發。
(2)DGUS界面設計
1.6 數據變量顯示控件設置
(3)OS主要程序
//------------------------------DGUS讀寫格式
typedef struct
{
u16 addr;//UI 16bit變量地址
u8 datLen;//8bit數據長度
u8 *pBuf;//8bit數據指針
} UI_packTypeDef;//DGUS 讀寫包
//-------------------------------數字顯示控件
typedef struct
{
u16 VP;
u16 X;
u16 Y;
u16 Color;
u8 Lib_ID;
u8 FontSize;
u8 Algnment;
u8 IntNum;
u8 DecNum;
u8 Type;
u8 LenUint;
u8 StringUinit[11];
}
Number_spTypeDef;//數據變量描述結構體
typedef struct
{
Number_spTypeDef sp;//定義sp描述指針
UI_packTypeDef spPack;//定義sp變量DGUS讀寫包
UI_packTypeDef vpPack; //定義vp變量DGUS讀寫包
} Number_HandleTypeDef; //數據變量結構體
有了前面的數據變量handle定義,接下來給電壓采樣顯示定義一個變量:
Number_HandleTypeDef Hsample;u16 voltage_sample;
首先 執行初始化函數NumberSP_Init(&Hsample,voltage_sample,0x8000);//這里的0x8000就是描述指針。//---------------數據變量顯示SP指針結構初始化--------------------------void NumberSP_Init(Number_HandleTypeDef *number,u8 *value, u16 numberAddr){ number->spPack.addr = numberAddr; number->spPack.datLen = sizeof(number->sp); number->spPack.pBuf = (u8 *)&number->sp; Read_Dgus(&number->spPack); number->vpPack.addr = number->sp.VP; switch(number->sp.Type) //根據DGUS界面設計的數據變量類型自動選擇vp變量的數據長度。 { case 0: case 5: number->vpPack.datLen = 2; break; case 1: case 2: case 3: case 6: number->vpPack.datLen = 4; case 4: number->vpPack.datLen = 8; break; } number->vpPack.pBuf = value;}通過初始化之后,Hsample.sp 就是電壓采樣數據變量的描述指針;Hsample.spPack 是OS核通過DGUS接口函數和UI電壓采樣數據變量通信指針;Hsample.vpPack是改電壓采樣變數據變量的屬性,比如字體顏色等,也是通過DGUS接口函數傳遞到UI核。Hsample.vpPack.addr 是電壓采樣數據變量地址,已經從初始化函數自動獲取了。當你在DGUS 界面改變變量地址或變量數據類型時,無需在OS核同步更新變量地址。OS核心計算出voltage_sample變量后只要執行Write_Dgus(&Hsample.vpPack)函數更新就行,無需再把voltage_sample打包進行DGUS發送。
-
芯片
+關注
關注
456文章
51156瀏覽量
426461 -
LED電源
+關注
關注
9文章
263瀏覽量
43297
發布評論請先 登錄
相關推薦
評論