komatsuzawa
2025年6月19日 17時25分
Armadillo-610でRS-232C通信を行うための最適なピンアサインを教えて下さい。
<捕捉説明>
1. Armadillo-640には「CON3」にRS-232C通信機能が実装されていますが、こちらは「UART3」に割り当たっているようです。
また、RS-232C通信には「DCT、DTR、DSR、RI」の信号が必要となりますが、640では以下のピンに割り当たっているようです。
・DCT:SNVS_TAMPER2(610のマルチプレクス表には無いピン)
・DTR:GPIO1_IO00
・DSR:SNVS_TAMPER0
・RI:SNVS_TAMPER1(610のマルチプレクス表には無いピン)
2. Armadillo-610の拡張ボードでは、RS-485通信がCON13C「UART2」に割り当たっているようです。
(TX、RX、CTS、RTSの機能のみを使用している模様)
<質問>
・Armadillo-610でRS-232C通信を制御するライブラリの提供は有るのでしょうか?
・Armadillo-610でRS-232C通信を行うためには、「UART2」と「UART3」のどちらが最適でしょうか?
・「DCT、DTR、DSR、RI」の信号は特定の機能を持ったピンに割り当てる必要があるのでしょうか?
610拡張ボードを元に「UART2」をベースにRS-232C通信機能を構成したいと考えております。
ソフトウェアを開発する上で効率が良いと思われるピンアサインをご教示頂けますと幸いです。
宜しくお願い致します。
at_shota.shimoyama
2025年6月23日 11時26分
アットマークテクノの下山です。
>・Armadillo-610でRS-232C通信を制御するライブラリの提供は有るのでしょうか?
弊社ではそのようなライブラリを提供していませんが、デバイスファイル(
/dev/ttymxc2
など)としてインターフェースを提供しているため、一般的なライブラリ(ioctl・pyserial)などからRS-232C通信を制御できるかと思います>・Armadillo-610でRS-232C通信を行うためには、「UART2」と「UART3」のどちらが最適でしょうか?
UART2とUART3の違いはないので、どちらでも良いです
(SoC(i.MX 6ULL)の仕様ではUART1とUART2はBoot時にSerial Downloaderのインターフェースとして割り当てられているのですが、A610ではSerial Downloaderが起動しないようなBoot Mode設定になっているので、この違いも関係ありません)
>・「DCT、DTR、DSR、RI」の信号は特定の機能を持ったピンに割り当てる必要があるのでしょうか?
特定の機能を持ったピンに割り当てる必要はありません
GPIOであればどのピンでも問題ありません
> 610拡張ボードを元に「UART2」をベースにRS-232C通信機能を構成したいと考えております。
> ソフトウェアを開発する上で効率が良いと思われるピンアサインをご教示頂けますと幸いです。
「UART2」であれば610拡張ボードのCON22からも引っ張ることができるので、
ソフトウェアを開発する上でも効率が良いのではないかと思います
ちなみに、ArmadilloはDCE or DTEのどちらとして使用する予定でしょうか?
DTEとして使用する場合はデバイスツリーレベルでの設定が必要になります(デフォルトではDCEモードです)
デバイスツリーに fsl,dte-mode; を追加するとDTEとして使用できます。(詳細はlinux kernel内のfsl-imx-uart.yamlを参照してください)
何かご不明な点がございましたら遠慮なくお聞きください