« May 2007 | Main | July 2007 »

June 14, 2007

SH-TINY その2

E094左が、今回私が作った SH-TINY の回路図だ。前回のコンテンツの写真のように 0.5mm ピッチの 64pin QFP なので、変換基板を介して配線している。なお、前回の写真の右部にあるプラスチックケースは、RS-232C 用の電圧コンバート部だ。私は、RS-232C を良く使うので、3V から 5V まで電源電圧を気にせずに使える用の電圧コンバート部分を汎用的に使えるように用意している。

本来、SH-TINY の空いた端子は、抵抗を介してプルアップでもすべきなのだろうが、今回は動作確認できれば十分なので、プルアップしなかった。実際、誤動作は起きていない。パワーオンリセットの回路は、インターフェース誌付録の SH-2 ボードでも問題になったので、少し余裕をみた回路定数にしている。
回路中の 0.1 μFのコンデンサーは PLL に使うので、積層セラミックコンデンサーを使うこと。その他の回路定数はいい加減だ。なお、水晶に 10MHz を使ったのは、最高周波数になる 12.5MHz が売ってなかったので、安く手に入った 10MHz を使っただけで、深い意味は無い。

回路ができたら、テストプログラムを走らせよう。
プログラミングは、以前SH-2 Linux上でのリアルタイム OS 開発環境 (その1 クロスコンパイラ構築編)またはここで紹介した gcc のクロスコンパイル環境が、そのまま使える。

下記にテストプログラムをアップした。
shtinytest.tgz

これを解凍すると、ソースコードとコンパイル済みの rom.mot が入っている。クロス gcc のインストールされた環境なら、make 一発で、コンパイルできるはずだ。
なお、以前は、Debian Linux Sarge での gcc のクロスコンパイル環境の構築法を示したが、Debian Linux の最新版 Etch でも同様の方法で問題なく構築できることを確認している。
また、Windows 上の Cygwin での構築もできるはずなので、これは読者の人にお任せしたい。

プログラムができたら(コンパイル済みの rom.mot を使っても構わないが)、SH-TINY に書込もう。
書込みには、ルネサスの HTerm を使う。
ルネサス テクノロジ のホームページから「設計サポート」「半導体セミナー」「サンプルプログラム」「同意します」「SuperHファミリ」「モニタプログラム専用通信ソフト Hterm」の順にリンクを辿り、htermmdi.exe 1947516バイトをダウンロードする。

このプログラムは、Windows 用なので、また、wine を使う。Debian Linux Sarge での wine のインストール方法は、
SH-2 Linux上でのリアルタイム OS 開発環境 (その3 ROM 書き込み編)または、ここを参照してもらいたい。
(ここ以下の説明では、LINUX 上で Hterm を使う説明をしているが、Windows 上ではネイティブ環境なのでもっと楽に使えるはずだ)

$ cd ~/Desktop/
$ wine htermmdi.exe

とすると、ダイアログが開き、デフォルトのままだと「c:\hterm」にファイルが展開される。(Linux のファイルシステムでは、~/.wine/dosdevices/c:/hterm 以下に展開される。)

$ cd ~/.wine/dosdevices/c:/hterm
$ wine Hterm.exe

とすると、Htermが起動する。
メニューから「フラッシュ」「ブートモード」と進む。

ここで、SH-TINY ボードと LINUX マシンをストレートのシリアルケーブルで接続し、ジャンパースイッチを2つとも接続した状態で、電源を入れる。

「OK」を押し、次に、ダイアログの選択画面で「R5F7125」を選ぶ。
次に、CPUおよび周辺機能共に×2を選び、動作周波数では「10MHz」を入れる。
最後にファイル選択ダイアログが開くので、「rom.mot」を選ぶとプログラムが書き込まれる。

なお、Hterm はデフォルトでは、COM1 に相当する /dev/ttyS0 をシリアルポートに選ぶ。
LINUX をインストールしているパソコンに COM ポートが付いて居れば、/dev/ttyS0 に設定されるはずなので、問題が無く使えるはずだ。
しかし、最近では、COM ポートの無いパソコンも増えている。この場合、秋月で 1400円での「USB-シリアル変換器」を使うと、シリアルインタフェースが使える。だが、/dev/ttyUSB0 などに割り当てられるはずだ。その時は、Hterm を起動する前に

$ cd ~/.wine/dosdevices/
$ ln -s /dev/ttyUSB0 com1

とやっておけば、問題なく使える。

さて、ここまでは、Debian Linux Sarge での話。同じ Debian でも Etch だと、ちょっと違う。
Etch では、wine が標準のパッケージで用意されているので、インストールは楽だ。

# apt-get install wine

だけで、OK だ。

ところが、utf-8 と wine のキーボード入力機能との相性が悪く、wine で動いているプログラム上で、キーボード入力するとハングアップしてしまう。
wine を起動する前に

$ export LC_ALL=ja_JP.eucJP

とやっておくと、キーボード入力はできるが、日本語表示が全滅してしまう。

マウスなら全く問題は無いし、キーボード入力するところは、動作周波数のところの一ヶ所だけだ。
結局、私は、utf-8 のままで起動しておき、クリップボードに「10.0」と言う文字列をコピーしておき、キーボード入力する代わりに、マウスの右ボタンを使って、動作周波数のところに文字列をペーストする事で回避している。

さて、ROM への書き込みが終わったら、Hterm を終了し、kermit などのターミナルソフトを起動し、ボーレートを 38400 bps にする。
SH-TINY ボードの電源を切った状態で、ジャンパスイッチを両方とも切り、再度、電源を入れる。
「Hello World!」に続いて、「ok」と言う文字列が出続ければ、成功である。 

| | Comments (5) | TrackBack (0)

June 13, 2007

SH-TINY

E093大量のハンダ付け作業は、未だ続いているが、この間に部品などの購入で何度も秋葉原へ行った。その時、改装した秋月で「SH-TIINY」なるワンチップ CPU が売っているのを見つけた。最初見た時は買わなかったのだが、帰宅後、ネットで情報を集め、何とかなりそうだと思い、二度目に購入した。

このSH-TINY (R5F71253N50FPV)は 900円、0.5mm ピッチの 64pin QFP の CPU 単体のみの販売で、秋月でのキットなどの販売は無い(他社からは出ているようだ)
SH-TINY は、SH-2 CPU コアを持つワンチップマイコンで、昨年インターフェース誌の付録になった SH-2 ボードの SH-2 (HD64F7144F50V) の弟分に当たるような CPU である。
SH-2 (HD64F7144F50V) に比べると、ROM が 256Kバイトから 128K に半減したり、シリアルポートが 4つから 3つに減らされるなど、パッケージのピン数が減った分、IO が少なくなっているなどの点が異なる。
一番大きな相違点は、SH-2 (HD64F7144F50V) は外部に RAM を接続できるようになっているのに対し、SH-TINY はメモリーバスが省略されていることだろう。
モニター入れて、リモートデバッグしようと思って居る人には RAM 増設ができないのは痛いかもしれないが、私のように組み込みで ROM 化しか考えて無い人に取っては大きな問題ではない。
その他、電源電圧が、3.3V から 5V に変わってたりするが、CPU クロックは Max 50MHz 65MIPS で処理速度など、性能的な面で見劣りはしない。

TINY と言うと、H8-TINY (HD64F3664F/HD64F3694F) を思い浮かべる。H8-TINY も決して悪いマイコンじゃないのだが、メモリが小さく (ROM:32K RAM:2K)、処理速度が遅く (HD64F3664F が最大 16MHz HD64F3694F が最大 20MHz、MIPS は不明)、IO ポートが少ない。何よりもシリアルポートが 1つしかなかったのが、不満だった。

ロボットなどの制御を考えると、ワンチップマイコンを複数乗せ、シリアルポートで通信し分散処理させるのが面白い。この場合、プログラム書込み兼デバッグ用にシリアルポートを1つ占有するので、少なくとも2つ以上のシリアルポートが欲しかった。

そう考えると、SH-TINY は中々良い選択だ。値段も安いし、IO ポートも程々の数があるし、何よりもシリアルポートが3つもある。仮に IO が多く必要だったり、ROM 領域が多く必要だった場合、SH-2 (HD64F7144F50V) も交ぜて使えば良いのだ。元々シリーズCPUなのだから、プログラムも共用しやすいだろう。

問題なのは、ROM への書込みソフトだが、ルネサスのHTERM か FDT で書けるようだ。
と言うわけで、SH-TINY を買って来て、ハンダ付けの合間に作ったのが、写真の基板だ。ハンダ付けの気分転換にハンダ付けをするのだから、我ながら可笑しい。とは言え、DIPのハンダ付けと、0.5mm ピッチの QFP を実体顕微鏡を使ってハンダ付けするのは、まるで違う。それなりに基分転換になるから不思議だ。

現状、プログラムの書きこみや動作確認及び HOS のインストールまで確認している。
次回以降、数回に分けて、回路図などのハードウエア、ROMへのプログラムの書きこみ、HOS のインストール方法を説明したいと思う。

| | Comments (0) | TrackBack (0)

2006年の夏を楽しむ

昨年の夏に話題になった2作品を見た。完全に一年の流行遅れだ。
両方とも、中年のオジサンが見るにはちと恥ずかしい作品だ。が、昨年から松浦さんをはじめ、多くの人が絶賛しており、今年の星雲賞は、この2作品の一騎打ちだと言われて居るほどようなので、両方とも見た。

一つは、涼宮ハルヒ。ハンダ付けの合間に、アニメと原作小説の既刊全冊を一気に見た。
なるほど、面白い。身も蓋も無く言ってしまえば、他愛のない良くある話なかもしれないが、逆に徹底的に他愛のない話に徹して描き切ったのが良かったのだろう。しかし、このアニメ、この順序で放映して視聴者が良く引かなかったねえ?
ところで、SOS団の三人組は往年のNHKドラマの「タイムトラベラー」「なぞの転校生」「まぼろしのペンフレンド」のオマージュだと思うんだが、どうなんだろう?
関連で、同じく一年遅れで、長門有希の100冊と言うのも見つけた。これを見ると、「太陽の簒奪者」と「海を見る人」が入っているではないか。と言うことは、あとがきまで飛ばす事なく読んだなら(あとがきどころか、ISBN番号まで飛ばす事なく読むような気がする)、少なくとも2回は、私の名前が読まれたことになる。これは光栄なことなんだろうだなあ。と、良く見ると、いつの間にか文庫判の「太陽の簒奪者」のあとがきに原作者の谷川氏が加わって居るでは無いか。こりゃ、あとがきを読み飛ばすことは無いか。


もう一作は、アニメ「時をかける少女」。原作は既に35年前から何度も読んで居し、ドラマや映画になった作品も何度も見て居る。二十数年前に原田知世が主演した映画版には完全にトチ狂って、ロケ地尾道・竹原巡礼までしたほどだ。
いやはや、今回のアニメ版は良くできて居る。全盛期の宮崎駿が「時をかける少女」を作ったら、こうなるんじゃないかと思ってしまった。トトロのサツキとメイが高校生になったら、このアニメの主人公のようになるんじゃないかな? 見て居る方が恥ずかしくなるほどにストレートに喜び、走り、泣く。


両作品に共通して居ることは、ストレートな演出なんだと思う。もちろん、SF的要素を入れた時点でヒネって居るのかも知れないが、話の主題は両方ともヒロインの精神的な成長を正面から描いているだけだ。逆にSF的要素を入れたからこそ、本題をストレートに描けたのかもしれない。そのストレートさが好感持てる。

しかし、まだ、こう言った話を面白がる若さ(馬鹿さ?)が、自分に残って居たとは、少々驚きである。既に書いたが、原田知世とかにトチ狂っていた時期もあるので、そう言った素養がある事は承知して居たが、四十過ぎても進歩なしか。とは言え、つい先日も島本須美(ナウシカやクラリスの声優)に「野田司令!」と言ってもらった録音を、同年代の東大のN教授に聞かせて悔しがらせて喜んで居たのだから、まあ、どうでも良いか。


さて、なんで今頃、昨年夏の作品を見たかというと、昨年の夏はそういう小説とかアニメを見る余裕が全く無かったからだ。昨年は公私ともに忙しくて、娯楽作品を見る精神的な余裕は無かった。とは言っても、私の2006年夏は、つまらない夏を無為に過ごしたのではない。それなりにエキサイティングな夏を過ごした。どうエキサイティングな夏だったのかは、まだ書ける時期ではない。もう少し落ち着いたら、書こうと思っている。

| | Comments (0) | TrackBack (0)

« May 2007 | Main | July 2007 »