本文介紹如何將QCC5127的PIO2作為普通PIO口使用。猜測:該方法除了適用于PIO2,應該也同樣適用于PIO32、PIO34、PIO35、PIO36、PIO37和PIO39,但這幾個PIO口都沒有驗證測試,如果發生與PIO2類似的問題,可能就是同一個原因。
測試工具
MDE:MDE_WIN_2.3.2.126
Toolkit:NULL
QACT:NULL
Hardware:高通官方QCC5127開發板
Software:ADK QCC512X ROM V21 WIN 6.4.2.21,sink
問題來源
有小伙伴用QCC5127設計了一款耳機,把PIO2當做了一個按鍵。用ADK configuration tool將PIO2配置為按鍵,期望PIO2為內部上拉,當有按鍵按下時PIO2變為低電平。
實際測試,當上電后,PIO2確實輸出高電平,感覺內部上拉沒啥問題(實際上可能還是有問題),當power on后,PIO2直接變成了低電平。
猜測sink代碼中有對PIO2的操作,查找代碼未發現。
問題明朗
查看高通的開發板原理圖發現PIO2、PIO32、PIO34、PIO35、PIO36、PIO37和PIO39,已經有重要任務在身了:

該芯片是一顆QSPI RAM,因為QCC5127支持外掛RAM,這個其他芯片,像QCC5121之類的,都是沒有的,因此猜測在QCC5127代碼中(也有可能是一些看不到的底層代碼)有對這些PIO口有占用,導致無法正常使用PIO2。
進一步尋找,終于在sink工程的subsys0_config10.htf文件中看到了相關的配置:

這個正好與原理圖吻合,證明了后臺程序有對這些PIO口進行操作,將其關閉即可。
解決方法
設置EnableAudioSqif= false。
注釋掉除了EnableAudioSqif= false以外的其他內容。
rebuild程序測試,將PIO2配置為一個按鍵,發現已經能正常工作了。
這樣操作的前提條件是QCC5127在使用過程中沒有用到外部的QSPI RAM,否則,就不要再折騰了,因為這幾個PIO口需要用來控制RAM芯片。
責任編輯:xj
原文標題:QCC5127無法配置PIO2為button的解決方法
文章出處:【微信公眾號:藍牙】歡迎添加關注!文章轉載請注明出處。
-
Button
+關注
關注
0文章
16瀏覽量
8011 -
PIO
+關注
關注
0文章
20瀏覽量
6611
原文標題:QCC5127無法配置PIO2為button的解決方法
文章出處:【微信號:TalkBT,微信公眾號:藍牙】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
SCH5127 Super I/O 控制器:功能特性與設計應用解析
Z8420/Z84C20 NMOS/CMOS Z80 PIO:并行輸入輸出芯片的全方位解析
使用VScode的PIO開發GD32VF103,但是串口無法打印浮點數怎么解決?
MULTICH_CONNECT_PCB如何將EVAL_PASCO2_SENSOR 到 CYW943907AEVALF?
Altera FPGA 的PIO IP當中bidir和inout選項的區別
樹莓派Pico不帶CAN接口怎么辦?難道要換方案?
如何將QCC5127的PIO2作為普通PIO口使用
評論