CPU - Coocantri-s.world.coocan.jp/tri_S_Application/Access_SDC/...CPU基板にPC...
Transcript of CPU - Coocantri-s.world.coocan.jp/tri_S_Application/Access_SDC/...CPU基板にPC...
1
Access_SDC : SDカードアクセスアプリケーションの説明 2014/02/05
SDカードの読み書き試験するためのアプリケーションです。
対象となるCPU基板にコマンドを送信して SDカードにアクセスします。
対象となるCPU基板で実行するプログラムによって、PCとCPU基板との接続はRS232CまたはVCPの2通りになります。
それぞれのCPU基板のプロジェクトサンプルの説明書に接続方法を記載してあります。
以下の 1) と 2) は「飛石伝ひCPU基板」を使用する場合の例です。
1) tri_S_SDC_SDIO_UARTの場合
RS232Cインターフェースで、PCと 「飛石伝ひCPU基板」 とを接続して UART(非同期シリアル通信)により
アクセスします。
2) tri_S_SDC_SDIO_VCPの場合
USB(VCP : 仮想COMポート)で、PCと 「飛石伝ひCPU基板」 とを接続して UART(非同期シリアル通信)により
アクセスします。
Microsoft Visual C# 2010 Expressを使用して作成した PCアプリケーションです。
目次
1. PCと「飛石伝ひCPU基板」との接続 .................................................................................................................................................................................................... 2
1.1. RS232Cによる接続 (tri_S_SDC_SDIO_UARTプロジェクトの場合) .............................................................................................................................. 2
1.2. USBのVCP(仮想COMポート)による接続 (tri_S_SDC_SDIO_VCPプロジェクトの場合) ................................................................................. 4
2. ダウンロードとインストール ............................................................................................................................................................................................................................ 5
2.1. Access_SDCアプリケーションのダウンロード ......................................................................................................................................................................... 5
2.2. Access_SDC.zipの解凍 .................................................................................................................................................................................................................... 8
2.3. Access_SDCアプリケーションのインストール..................................................................................................................................................................... 10
3. Microsoft Visual C# 2010 Expressプロジェクトを起動して実行したい場合 ................................................................................................................ 12
4. プログラムAccess_SDCの動作 ............................................................................................................................................................................................................ 14
4.1. COMポートと通信速度の選択 ................................................................................................................................................................................................... 14
4.2. RTCの時刻設定 ............................................................................................................................................................................................................................... 16
4.3. RTCの日付・時刻の読み込み .................................................................................................................................................................................................. 17
4.4. SDカードの容量取得 ...................................................................................................................................................................................................................... 18
4.5. フォルダ一覧 ....................................................................................................................................................................................................................................... 19
4.6. ファイル一覧 ........................................................................................................................................................................................................................................ 20
4.7. ファイル読み込み ............................................................................................................................................................................................................................. 22
4.8. ファイルの削除 ................................................................................................................................................................................................................................... 24
4.9. フォーマット ........................................................................................................................................................................................................................................... 26
5. 主なモジュールの概要 .............................................................................................................................................................................................................................. 28
2
「飛石伝ひCPU基板」以外のCPU基板と接続する場合は、それぞれのプロジェクトサンプルの説明書をご覧ください。
1. PCと「飛石伝ひCPU基板」との接続
PC と 「飛石伝ひCPU基板」との接続は、「飛石伝ひCPU基板」上で実行するプログラムにより
RS232Cによる接続 または USB(VCP : 仮想COMポート)による接続 の 2通りになります。
1.1. RS232Cによる接続 (tri_S_SDC_SDIO_UARTプロジェクトの場合)
1) 「飛石伝ひCPU基板」 単体の場合 (tri_S_SDC_SDIO_UARTプロジェクトの場合)
「飛石伝ひCPU基板」の UART(非同期シリアル通信)に使用する信号と接続相手との接続は以下の通りです。
a) 「飛石伝ひCPU基板」の UART2 接続信号表
番号 CPU機能名 CPU信号名 基板コネクタピン番号 接続相手の信号名
1 USART2_TX PA2 P2-40 --- > RxD
2 USART2_RX PA3 P2-39 < --- TxD
3 GND GND P1-1, P1-2, P1-5
P1-17, P1-49, P1-50
P2-1, P2-2, P2-50
< --- > GND
b) RS232C ドライバ接続例
RS232C
ドライバ
CPU基板
UART
PC RS232Cケーブル
図1.1. 1)
3
2) 「飛石伝ひ I/F基板」 を使用する場合 (tri_S_SDC_SDIO_UARTプロジェクトの場合)
「飛石伝ひ I/F基板」はRS232C ドライバを搭載しています。
コネクタ P9-UART1を使用して PCなどとRS232C接続することができます。
(P9-UART1にCPUの USART2の信号が接続されています。まぎらわしくて、すみません。)
「飛石伝ひ I/F基板」の UART信号表
飛石伝ひ I/F基板
P9 ピン番号
信号名 CPU機能名 CPU信号名 飛石伝ひCPU基板
コネクタピン番号
接続相手の信号名
1 TxD USART2_TX PA2 P2-40 --- > RxD
2 RxD USART2_RX PA3 P2-39 < --- TxD
3 GND GND GND P1-1, P1-2, P1-5
P1-17, P1-49, P1-50
P2-1, P2-2, P2-50
< --- > GND
DSUB-9Sとの接続
飛石伝ひ I/F基板
P9 ピン番号
信号名 DSUB-9S 備考
1 TxD 2
2 RxD 3
3 GND 5
DSUB-9Sには上記の3本の信号以外は接続されていません。
飛石伝ひ I/F基板
P9 DSUB-9S
PC
RS232C変換ケーブル
「飛石伝ひCPU基板」
4
1.2. USBのVCP(仮想COMポート)による接続 (tri_S_SDC_SDIO_VCPプロジェクトの場合)
USBのVCP(仮想COMポート)による、PC と 「飛石伝ひCPU基板」との接続は以下のようになります。
なお、USBのVCP(仮想COMポート)を使用するためのVCPドライバのインストールについては、「インストール」のページの
[ 1.「 VCP(Virtual COM Port : 仮想COMポート)ドライバ」のインストール ] の部分をご覧ください。
PC
A
USBポート
USBケーブル : 電源供給 および VCP(仮想COMポート) 接続のため
図1.2.
Mini B
5
2. ダウンロードとインストール
2.1. Access_SDCアプリケーションのダウンロード
まず、「tri_S_SDC_SDIOの説明とダウンロード」のページの 「3. Access_SDCアプリケーションのダウンロード」を
クリックします。
次ページに続く
6
[保存] の ▼ の部分をクリックしてください。
{ 名前を付けて保存(A) } をクリックしてください。
次ページの保存フォルダ選択のダイアログが開きます。
7
保存したいフォルダを選択して、[保存(S)] ボタンをクリックしてください。
Access_SDC.zipがダウンロードされて完了メッセージが表示されます。
これで、ダウンロードは完了です。 xボタンをクリックして、ファイル処理のメッセージを閉じてください。
8
2.2. Access_SDC.zipの解凍
ダウンロードした Access_SDC.zipは圧縮ファイルなので解凍します。
指定したフォルダにAccess_SDC.zipがダウンロードされています。
ダウンロードしたファイル Access_SDC.zip を右クリックして表示されるポップアップメニューの一番上の
{開く} をクリックすると同一のフォルダに解凍されます。
9
Access_SDCというフォルダが作成されてその中にAccess_SDCアプリケーションのプロジェクトが解凍されています。
10
2.3. Access_SDCアプリケーションのインストール
Access_SDC.zipをダウンロードして解凍すると、下図のようにフォルダAccess_SDCの下の publish内に
インストールのためのファイルが格納されています。
setup.exeをダブルクリックすると次ページの警告のダイアログが開きます。
[インストール(I)] ボタンをクリックしてインストールしてください。
プログラムがインストールされて自動的にAccess_SDCが実行されて次ページのダイアログが表示されます。
11
12
3. Microsoft Visual C# 2010 Expressプロジェクトを起動して実行したい場合
Microsoft Visual C# 2010 Expressがインストールされている必要があります。
フォルダAccess_SDCの下のファイルAccess_SDC.slnをダブルクリックしてプロジェクトを起動してください。
プロジェクトが起動すると以下の画面になります。
13
下図はコードを表示した状態です。
メニューの {デバッグ(D)} -> {デバッグ開始(S)} をクリックするとプログラムが実行されて次のダイアログが開きます。
図3.
14
4. プログラムAccess_SDCの動作
PCとCPU基板との接続は以下の 1) RS232C接続 または 2) USB(VCP : 仮想COMポート)接続 であるとします。
1) RS232C接続
RS232Cケーブルで PCとCPU基板とが接続されていて、CPU基板では UARTアクセスのプログラムが実行されている。
2) USB(VCP : 仮想COMポート)接続
USBケーブルにより PCとCPU基板とが接続されていて、CPU基板ではVCPアクセスのプログラムが実行されている。
4.1. COMポートと通信速度の選択
COM選択のComboBoxで COMポートを選択してください。
選択すると次ページのメッセージが表示されます。
15
よい場合は [はい(Y)] ボタンをクリックしてください。
この例では 「COM3に設定しました。」 とメッセージが表示されています。
通信速度は、115200のままでよいので、このままにしておきます。
なお、USBのVCP(仮想COMポート)を使用する場合は、通信速度の設定は意味を持ちません。
16
4.2. RTCの時刻設定
SDカードにファイルを書き込むとき、CPUの RTCの時刻を参照してファイルのタイムスタンプを付けます。
そのため RTCに時刻を設定する必要があります。
時刻を設定するには [時刻設定] ボタンをクリックします。
CPU基板にPCの日付・時刻が送信されて、正常に設定できると “時刻を設定しました。” とメッセージが
表示されます。
17
4.3. RTCの日付・時刻の読み込み
CPU基板の RTCの日付・時刻を読み込んでみます。
[時刻取得] ボタンをクリックします。
正常に日付・時刻が取得できると “日付・時刻 : 2013/11/15 18:23:02” のように表示されます。
18
4.4. SDカードの容量取得
SDカードの全容量と空き容量を取得します。
メニューの {SDC} -> {容量取得} をクリックします。
SDカードの容量が取得されて 空き容量 と 全容量 が表示されます。
19
4.5. フォルダ一覧
SDカードのフォルダ “TRI_S” の下にあるフォルダの名称を参照します。
メニューの {SDC} -> {フォルダ一覧} をクリックします。
フォルダがある場合、フォルダ名が表示されます。
20
SDカードアクセスのプロジェクトサンプルでは、ルートディレクトリにある 「 TRI_S 」 という名前のディレクトリの
中身を参照するようになっています。
「 TRI_S 」 というディレクトリがないと、フォルダがありません。 と表示されます。
4.6. ファイル一覧
指定したフォルダ内のファイル名称を参照します。
フォルダを一個選択した状態で、メニューの {SDC} -> {ファイル一覧} をクリックします。
次ページに続く
21
ファイルが存在する場合、ファイル名とファイルサイズが表示されます。
22
4.7. ファイル読み込み
指定したファイルのデータを読み込んでPCにファイルで保存します。
ファイルを一個選択した状態で、メニューの {SDC} -> {ファイルデータ読み込み} -> {開始}をクリックします。
確認のメッセージが表示されます。よい場合は [はい(Y)] ボタンをクリックします。
次ページのファイルから読み込んだデータをセーブするフォルダを選択画面が表示されます。
23
フォルダを選択して、[OK] ボタンをクリックします。
ファイルデータの読み込みが開始され、読み込みが終了すると上記のメッセージが表示されます。
[OK] ボタンをクリックします。
次ページに続く
24
選択したフォルダを見てみると、選択したファイル名の後ろに読み込みを実行した時刻を付加したファイルができています。
このファイルに読み込んだファイルデータがセーブされています。
4.8. ファイルの削除
指定したファイルを削除します。
ファイルを一個選択した状態で、メニューの {SDC} -> {ファイル削除} をクリックします。
25
確認のメッセージが表示されます。よい場合は [はい(Y)] ボタンをクリックします。
ファイルを削除できた場合、上記のようにメッセージが表示されます。
26
4.9. フォーマット
SDカードをフォーマットします。
メニューの {SDC} -> {フォーマット} をクリックします。
確認のメッセージが表示されます。よい場合は [はい(Y)] ボタンをクリックします。
次ページに続く
27
正常にフォーマットされると、上記のように “SDカードをフォーマットしました。” と表示されます。
この状態で、メニューの [SDC] -> [フォルダ一覧] をクリックすると、以下のようにメッセージが表示されます。
28
5. 主なモジュールの概要
Access_SDCアプリケーションのプログラムに興味のある方はご覧ください。
1) COMポートのオープン
指定されているCOMポートをオープンします。
private int SerialPortOpen()
2) COMポートのクローズ
指定されているCOMポートをクローズします。
private void SerialPortClose()
3) [時刻設定] ボタンクリック時のイベント
[時刻設定] ボタンをクリックしたときの処理です。
時刻設定コマンドを送信して結果をReceiveData_listBoxに表示します。
private void 時刻設定_button_Click(object sender, EventArgs e)
4) [時刻取得] ボタンクリック時のイベント
[時刻取得] ボタンをクリックしたときの処理です。
時刻取得コマンドを送信して結果をReceiveData_listBoxに表示します。
private void 時刻取得_button_Click(object sender, EventArgs e)
5) UART受信のイベント
UARTデータを受信したときにイベントが発生します。
<CR><LF>を検出して受信終了と判断し、受信フラグ GLB_bool応答受信 をtrueにします。
<CR> : 0x0d
<LF> : 0x0a
Access_SDCアプリケーションでは、受信終了(データ終了)の<CR><LF>以外は全てASCII文字を使用して通信します。
//Serial Port データ受信イベント
private void Communicate_serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
6) ReceiveData_listBoxにデータを表示する。
ReceiveData_listBoxに指定したデータを表示します。
//ListBoxにデータを表示する。
public void SetReceiveData_listBox(string strData)
29
7) Command送受信
指定されたCommandを送信して、結果を受信します。
Commandとタイムアウトを指定します。
string Command送受信(string strCommand, int intTimeout)
8) 送信データ作成
コマンドと表示データなどの stringデータを byteデータに変換して送信できる形にします。
//戻り値 : 送信データ数
// 0 : NG
// 1以上 : OK
int 送信データ作成(string strSendData)
9) SDカードアクセスメニュー
a) 容量取得
SDカードの全容量と空き容量を取得して表示します。
private void SDC容量取得ToolStripMenuItem_Click(object sender, EventArgs e)
b) フォルダ一覧
SDカードのフォルダ “TRI_S” の下のフォルダ名称を参照します。
private void SDCフォルダ一覧ToolStripMenuItem_Click(object sender, EventArgs e)
c) ファイル一覧
選択したフォルダ内のファイル名称を参照します。
private void SDCファイル一覧ToolStripMenuItem_Click(object sender, EventArgs e)
d) ファイルデータ読み込み -> 開始
選択したファイルのデータを読み込んで、PCにファイル保存します。
private void SDCファイルデータ読み込み開始ToolStripMenuItem_Click(object sender, EventArgs e)
e) ファイルデータ読み込み -> 停止
ファイルデータ読み込みを停止します。
private void SDCファイルデータ読み込み停止ToolStripMenuItem_Click(object sender, EventArgs e)
30
f) ファイル削除
選択したファイルを削除します。
private void SDCファイル削除ToolStripMenuItem_Click(object sender, EventArgs e)
g) フォーマット
SDカードをフォーマットします。
private void SDCフォーマットToolStripMenuItem_Click(object sender, EventArgs e)