SH7125のCPUボードが、 株式会社アルファプロジェクトと 秋月電子通商から発売されていますね。
アルファプロジェクトのボードは発信子が12.0MHz、 秋月電子通商のは12.5MHzのようです。
CPUの動作クロックが早いほうが良いのですが、 もうひとつ気になるのがシリアル通信の動作クロックです。
もしかしたら使うかもしれないなぁと思う物をあげてみました。
対象 | ボーレート(bps) |
---|---|
HeartToHeart | 115200 |
ICS2.0(KRS-4013HV,KRS-4014HV) | 115200 |
Dynamixel | 9600, 19200, 57600, 115200, 200000, 250000, 400000, 500000, 1000000のいずれか |
RS301CR,RS302CD | 9600, 14400, 19200, 28800, 38400, 57600, 76800, 115200, 153600, 230400, 460800のいずれか |
RS303MR,RS304MD | 9600, 14400, 19200, 28800, 38400, 57600, 76800, 115200, 153600, 230400のいずれか |
とりあえず、115200bpsが使えると良いかなぁと思っています。
SH7125の入力クロック周波数は10MHzから12.5MHzまでで、 内部クロック周波数と周辺クロック周波数は最大で以下のようになります。
入力クロック(MHz) (10MHz-12.5MHz) | 内部クロック(CPUなど)(MHz) (10MHz-50MHz) | 周辺クロック(SCIなど)(MHz) (10MHz-40MHz) |
---|---|---|
10.0 | 40 | 40 |
12.0 | 48 | 24 |
12.5 | 50 | 25 |
つまり、入力クロックが10MHzだと、内部クロックは遅くなっても、 周辺クロックは早くできるというわけです。
そこで、SH7125のボーレートの計算をしてみました。
調歩同期式モード:N=P*1000000/(32*B)-1 (P:周辺クロック,B:ボーレート)
誤差(%):(P*1000000/((N+1)*32*B)-1)*100 (%) (P:周辺クロック)
周辺クロック(MHz) | ボーレート | 計算値N(0-255) | 誤差(%) |
---|---|---|---|
24 | 38400 | 19 | -2.3 |
24 | 57600 | 12 | 0.2 |
24 | 115200 | 6 | -7.0 |
25 | 38400 | 19 | 1.7 |
25 | 57600 | 13 | -3.1 |
25 | 115200 | 6 | -3.1 |
40 | 38400 | 32 | -1.4 |
40 | 57600 | 21 | -1.4 |
40 | 115200 | 10 | -1.4 |
こうやって見ると、25MHzで115200bpsは何とかなりそうな気がします。 24MHzで115200bpsはちょっときついでしょうか?
で、24MHzで115200bpsをやってみました。
38400bpsと57600bpsでは正しく表示できるので、 たぶんうまく通信できていないのではないかと思われます。
となると気になるのは25MHzで115200bpsの場合です。 手元にないので後日ですね・・・
40MHzで115200bpsは自分で回路を作らないと・・・
「スクロールバーでぐりぐり」にシリアル設定機能を追加できたので、 当然次は「意信電信」にシリアル設定機能を追加です。
こちらはソースが長いので、 さらに何がなんだか分かりません・・・
EEPROMの機能などは必要ないので、 少し昔のソースに書き加えたのですが、 これが必要な機能も備えていなかったので大変でした。
それでも何とか実装できました。
今回はスライドバーが4個ですが、 これは「ごまちゃん」用だからです。 モータ数のマクロ定義があったので書き直してみたところ、 多少の修正で動きました。
ちょっと偉かったぞ、あのときの自分・・・
今までは、スライドバーを表示領域からはずして対処していたのですが、 データは24個分送っていて効率が悪かったのです。
これからは、いろいろなロボットに対応できそうです・・・
通勤が大分楽になったと思ったら、 世間ではお盆なのですね(笑)。
チマチマと毎日プログラムをしているのですが、 資料を作るのが面倒くさくて、 ここもなかなか更新できない状態です。 でも、きちんと資料を作らないとだめなんですよねぇ・・・
最近やった作業としては、 Win32API(スクロールバーでぐりぐり)[one_scroll]にシリアル変更機能を入れるというものです。
モーション作製ソフト「意信電信」に シリアルの設定変更機能がないので、 環境が変わるたびにソースを変更して実行ファイルを作り直していました。
最近はUSBシリアル変換が多いのでポート番号が結構ばらばらなんですよね。
そこで一念発起(というほど大げさでもないのですが・・・)「スクロールバーでぐりぐり」に シリアル変更機能をつけてみたわけです。
すっかり忘れている上に、 コメントがほとんどないので理解するまでに結構時間がかかりました。
で、付け加えたのは以下の機能。
こんなとこだったかな?
相変わらずソースコードはメチャクチャで、 とても人には見せられません・・・
「スクロールバーでぐりぐり」のシリアル接続状態
「スクロールバーでぐりぐり」のシリアル切断状態
とりあえず「ごまちゃん」をグリグリ動かせるようになった・・・
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||