2016年4月27日水曜日

RaspberryPi 3 Model B

RaspberryPi 3 Model Bをようやく入手しました。
これまでRaspberryPi 2 Model Bを使用していたうちのシステムに入れ替えたところ早速トラブりました。
まず、XBee制御に使用していた/dev/ttyAMA0はWiFi/BT用に使用されるとのことで、40pinのコネクタに出ているUARTは/dev/ttyS0に変更されています。
BCM2835の仕様書とGPIOのPinMuxの設定値を調べてみると、なかなか微妙な仕様になっていました。

RaspberryPi 2の場合
40pinコネクタの8,910,11,36はTXD0,RXD0,RTS0,CTS0で/dev/ttyAMA0にアサインされていて、UARTのIPはARM PrimeCell PL011です。
RaspberryPi 3の場合
40pinコネクタはTXD1,RXD1,RTS1,CTS1で/dev/ttyS0にアサインされてIPは16550 UART下位互換のMiniUARTになっています。
これは対応ボーレートが476bps~31.25Mbpsになっていますが、一般的な115200とかのボーレートの場合誤差がそれなりにありそうです。(ちゃんと計算してませんが)

それでもまぁ大丈夫だろうと取り敢えず試してみようと繋いでみましたが、最初動作しているのに暫くすると動かなくなる現象が発生しました。
通信路を見ていると途中から周波数が変化している現象が発生しています。
ネットで色々調べてみると、CPUのcore clockがIPのCLKになっているようで、現状のraspbianではCPU周波数が変動するとMiniUARTのクロックも一緒に変動してしまうようで使い物になりません。
これは対策として/boot/config.txtにcore_freq=250を追加することで対応できるようです。
そのうちクロックソースを固定のものから供給する設定になる気がしますがいまのところこの対策しかないようです。

もう1つRaspberryPi3で発生した問題が、PWR-LEDの問題です。
/sys/class/leds/led1が消えていたのでPWR LEDが消せなくなってしまいました。
どうもPWR-LEDの制御がメインCPUのGPIOから他の所のGPIOに移動したようで、直接制御できなくなってしまったようです。
そのうち、対応策が出てくることを期待して取り敢えず置いておきます。

2016年4月1日金曜日

RP-5基板の組み立て

KiCadで設計してElecrowに注文していた基板も上がってきて、部品も揃ったので組み立ててみました。

ちなみに今回はFedExにしてみました。

3/15火曜日の夜 出図
3/16水曜日 製造開始
3/22火曜日 写真付きで基板できたよとの連絡
3/23水曜日
17:32 出荷地のFedEx営業所を出発  YUEN LONG HK
21:50 FedEx経由地に到着         GUANGZHOU CN
3/24木曜日
03:13 FedEx経由地を出発         GUANGZHOU CN
05:06 輸送中/処理中                          GUANGZHOU CN
07:32 仕向国仕分け場所                    NARITA-SHI JP
11:57 輸送中/処理中                          TOKYO-KOTO-KU JP
14:14 国際輸送許可 - 輸入                 TOKYO-KOTO-KU JP
20:16 輸送中/処理中                          TOKYO-KOTO-KU JP
3/25金曜日
10:02 FedEx 営業所                          TOKYO JP
13:24 配達完了

製造開始から土日を挟んで9日間で到着しています。

今回はTAKACHIのケースに合わせて基板を設計しました。
当然ながらピッタリと収まっています。


レーザーカッターで1.5mm乳白色半透明のアクリル板を切り出して赤外線LEDと受光部の窓を作っています。

後ろ側も同じ板で電源とUSB、Etherの口をRaspberryPi 2 Model-Bの穴位置に合わせて加工しています。
本当は段差が無いようにできればいいのですが、素人の加工としてはこのくらいが限度でしょうか。