IoTエッジデバイスとして、データ送信を行う装置を作っている。
データ送信モジュールは、BRKLSM100A(LSM100Aのブレークアウトモジュール)を使って、通信はsigfox。
1台のBRKLSM100Aでの通信は問題なく、動作。60日以上の連続動作も、送信エラーもなく、順調。sigfoxのデバイスデータは、一日最大140パケット。今回、1日500パケット程度送りたいので、モジュール4つを切り替えて送信することにした。
モジュール制御は、UART。RX/TXを74HC4052で切り替える。4052は、双方向2ライン4チャンネルなので、TX/RXの切り替えに最適。
回路作成し、基板発注し、届いた基板に部品を載せて、いざテスト。
なんと、データ送信失敗。ATコマンドエラーが発生している。プロアナ(こういう時、プロアナがないとデバッグに数倍の時間が必要)で調べると、ATコマンドは正常に送信。なぜかエラーを返してくる。
BRKLSM100Aの動作を細かく検証するため、PC接続中継基板を作成。半日もかかった。
色々コマンド送ったり、タイミングを変えたりしても、ATコマンドエラーを起こすことない。もう一度、プロアナで探ると、4052の切替で、使用しないBRKLSM100AのRX/TXがLに落ちている。4052で選択すると、TX/RXともHとなり、その後、コミュニケーションしている。違いはここ。
なので、RX/TXをプルアップしてみた。
ATコマンドを正常に処理するようになった。4052が吸い込みしていたら、やばかった。