2011-01-01から1年間の記事一覧

職業訓練47日目 H8マイコン制御技術(LCD-SCI制御技術)

LCDの制御 使用したLCDはコチラ!(多分…) LCDキャラクタディスプレイモジュール(16×2行バックライト無): ディスプレイ・表示器 秋月電子通商-電子部品・ネット通販16文字×2行のアスキー文字を1文字につき5×7ドットあるいは5×10ドットで表示する。 …

職業訓練46日目 H8マイコン入門(アセンブラ言語による実習)

割込み制御 割込み 実行中の処理を一時停止して、他の処理を行った後に最下位する機能。●割込み動作の流れ PCとCCRをスタックに待避(必要であれば、汎用レジスタのデータもスタックに待避) CCRの割込みマスクビットに"1"をセット(他の割込みを禁止する) …

職業訓練45日目 H8マイコン入門(アセンブラ言語による実習)

A-D, D-Aコンバータの制御 A-Dコンバータ アナログデータをデジタルデータに変換する装置。 分解能:10ビット 方式:逐次変換方式 チャネル数:8 変換を行うアナログ電圧の範囲:0〜5V 最大4入力の変換結果を16ビットのA-Dデータレジスタ4個に保持可能。 複…

職業訓練44日目 H8マイコン入門(アセンブラ言語による実習)

パルスモータの制御 パルスモータとは パルス電力を入力として回転する(→マイコン制御と相性が良い) 長所:正確な回転(位置決め)を制御できる。N極とS極をもつロータ(回転子)の周囲に電磁石(固定子)を配置した構造になっていて、 電磁石を磁化するパ…

職業訓練43日目 H8マイコン入門(アセンブラ言語による実習)

LEDの制御 LEDの点滅 LEDを点滅させるにはタイマプログラムを作る必要があり、 タイマには2つの実現方法がある。 繰り返し処理で時間をかせぐ 内蔵タイマ(ITU)を利用する まずは1.の繰り返し処理を利用したコードから。 下記のコードを実行すると、5秒経過…

職業訓練42日目 H8マイコン入門(アセンブラ言語による実習)

LEDの制御 LEDの点灯 早速、使用したソースコードから。 .CPU 300HA ; CPUの指定(アドレス空間は24ビット) .SECTION PROG1, CODE, LOCATE=H'000000 ; メモリの0番地から書き込むコードで、PROG1というセクション名 P1DR .EQU H'FFFFC2 ; ポート1のDRアドレ…

職業訓練41日目 H8マイコン入門(アセンブラ言語による実習)

アセンブラ言語の基礎 アセンブラ言語とは CPUが理解できる言語 = マシン語(二進数) →人間には分かりにくいので、人間にも分かりやすい記号(ニーモニック)で プログラムを作成する。 ニーモニックコードの集まり = アセンブラ言語 アセンブラ制御命令 ア…

職業訓練40日目 H8マイコン入門(H8/3048Fマイコンの基礎)

アーキテクチャ アーキテクチャの概要 CPU H8/300H RAM 4KB ROM 128KB 最大動作クロック 16MHz H8/3048Fの考え方 CPU メモリ 入出力ポート 周辺機能 メモリ メモリマップ メモリや外部バスの選択法によって7種類の動作モードがある。動作モードの種類につい…

職業訓練39日目 H8マイコン入門(マイコンでのデータ表現)

「2進数」「16進数」「ディジタル回路(の前半)」はサックリと割愛。 マスク操作 ビットを0にマスクする 0でAND演算を行う。例)下位4ビットを0にマスクする。 11011001 元データ AND)11110000 マスクデータ = 11010000 ビットを1にマスクする 1でOR演算を…

職業訓練38日目 H8マイコン入門(H8マイコンとは)

H8の主なシリーズ 16ビット H8/500 H8/300H H8/300H Tiny H8S/2000 8ビット H8/300 H8/300L 代表的な機種 H8/3048F H8/300Hシリーズ ROM:128KB RAM:4KB A-D/D-Aコンバータを搭載 →今回使うのはコレ! H8/3664F H8/300H Tinyシリーズ H8/3048Fより機能は少…

職業訓練37日目 H8マイコン入門(マイコン制御の基礎)

CPUの区分 可変命令語長 → CISC 固定命令語長 → RISC CISC ハードウェアは(RISCに比べると)小さい。 コンパイラが作りやすい。代表的なCPU 80x86 (IA-32) H8 RISC ハードウェアは(CISCに比べると)大きい。 パイプライン処理の効率が良い。代表的なCPU Su…

職業訓練36日目 ハンダ付けの練習

本来なら、前回のテキストの続きをやる予定でしたが、 建物の改修工事の騒音が大きく、座学は中止して、 丸一日ハンダ付けの練習をしました。不器用なので、なかなか上手くいきませんね…。 すぐ出来ちゃう人がうらやましい。 でも、うらやんでいても仕方がな…

職業訓練35日目 H8マイコン入門(マイコン制御の基礎)

ノイマン型 特徴 プログラム内蔵方式 逐次処理 命令とデータの共存 →他に有名なものは「ハーバード型」 命令とデータを別々の記憶装置に記憶する。 構成 CPU(中央処理装置) 演算装置 → 演算論理装置(ALU) 制御装置 主記憶装置 ROM(読み取り専用) RAM(…

職業訓練34日目 習得度確認テスト(PLDを用いたデジタル回路設計作業)

課題 自由課題。自由と言われると何も思いつかないので、いつも困るのですが、 他の人がLEDをチカチカさせてるのを見て、思いついた。そうだ、ナイトライダー回路を作ろう。 仕様 どういうこと? 使用しているCPLDにはLEDが8個付いてるので、 そのLEDを「ナ…

職業訓練33日目 習得度確認テスト(PLDを用いたデジタル回路設計作業)

課題 2ビットバイナリカウンタの設計・製作 仕様 クロックでカウント クロック入力は1Hz 7セグメントLEDはカウントダウンを繰り返し(3,2,1,0,3,2,1,0...) カウンタはカウントアップ(00→01→10→11→00...) 悪い例 「カウントダウン」の仕様をすっかり見落と…

職業訓練32日目 習得度確認テスト(PLDを用いたデジタル回路設計作業)

課題 2ビットジョンソンカウンタの設計・製作 仕様 スイッチを押すとカウントされる クロック入力は16MHz 出力は7セグメントLED 状態遷移図 やっとお絵描きできた! でも、ちょっと大き過ぎた…。 真理値表 カウンター回路 Q1 Q0 SW Q1' Q2' 0 0 0 0 0 0 0 1 …

職業訓練31日目 PLD基本設計 テキスト入力(VHDLによる設計)

本日の講義も昨日の課題の続き。 3bitバイナリカウンタは一応出来てたので、 7セグLED表示も、積和構造で出来るかやってみました。「when句使っちゃったらビヘイビアじゃん」 と思って訊いてみたら、 「when句は真理値表みたいなもので論理圧縮できるので、…

職業訓練30日目 PLD基本設計 テキスト入力(VHDLによる設計)

本日は、課題で3bitバイナリカウンタをVHDLで作りました。 なので、作った回路を晒そうかと思います。 出力は、7セグメントLEDです。 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGHNED.ALL; entity …

職業訓練29日目 PLD基本設計 テキスト入力(VHDLによる設計)

VHDLの文法 ライブラリ宣言 使用するライブラリを記述。 他の言語で言う、import文、include文か。 library ライブラリ名; use ライブラリ名.パッケージ名.アイテム; library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; エンティテ…

職業訓練28日目 PLD基本設計 テキスト入力(VHDLによる設計)

今日、回路図入力で作ったのは以下の回路。フリップフロップを利用したスイッチ回路 + カウンタ回路 + 7セグメントLED表示7セグメントLEDについては、Wikipediaに結構詳しく説明が載ってたので、リンクを。 7セグメントディスプレイ - Wikipedia タイトル…

職業訓練27日目 PLD開発設計(VHDLによる回路構築)

昨日から、CPLDを利用した回路構築の練習をしてますが、 タイトルにある「VHDL」はまだ使ってません。今やっているのは、 GUIのツールで回路図(Schematic)を書いて、 ピンの設定をして、 CPLDにダウンロード、実行! といった感じ。なので、今日はまとめる…

職業訓練26日目 PLD基本設計(集積回路の現状とその開発手法)

デジタル回路設計の変遷 汎用ロジック設計 ↓ マイコン・LSI ↓ ASIC・PLDの普及 ↓ HDLによる大規模設計 →大規模集積回路へのシステム搭載(SoC)設計が加速ハードウェア設計とソフトウェア設計の境界が薄れてきている。 →Co-Design (HW/SW協調設計) 大規模…

職業訓練25日目 PLD基本設計(大規模論理回路設計のルール)

非同期回路の問題点 高速化が困難 設計自動化の導入が困難 高信頼性を失う現象 レーシング:信号が入力される順序によって最終的な状態が決定すること ハザード:2つ以上の信号が同時に変化すると,どちらか動作の速いほうの素子の出力が先に出てきて出力が…

職業訓練24日目 論理回路設計の基本作業(組み合わせ回路設計と順序回路)

順序回路 順序回路の表現方法 状態遷移図(ステートダイアグラム) タイミングチャート モデル ミーリ・マシン:出力が現在状態と入力によって決定される ムーア・マシン:出力が(入力によらず)現在の状態によってのみ決定される 設計方法 状態遷移図 真理…

職業訓練23日目 論理回路設計の基本作業(デジタル回路)

順序回路 過去の回路状態と現在の入力で出力が決まる回路。 組み合わせ回路 + 記憶回路(フリップフロップ) = 順序回路 フリップフロップ 出力を入力側にフィードバックすることによって情報を保持する。 RS型 S(セット)スイッチを押すと出力が1となり、…

職業訓練22日目 論理回路設計の基本作業(組み合わせ回路設計と順序回路)

クワイン・マクラスキー法 カルノー図と同様に、論理回路を簡略化する方法の1つ。 変数が多い場合やコンピュータで自動化する場合は、こちらの方が有利。手順が複雑なので、図使わずまとめるのが難しい…。 代わりにまたWikipediaの解説を。 クワイン・マク…

職業訓練21日目 論理回路設計の基本作業(組み合わせ回路設計と順序回路)

カルノー図 論理回路を簡略化する方法の1つ。 A B Y 0 0 0 0 1 1 1 0 1 1 1 1 ↓カルノー図に変換 B\A 0 1 0 1 1 1 1 ↓ Y = A * B注意点: 論理式が真となる隣り合う部分を2のべき乗個分(1,2,4,8...)をできるだけ大きく囲む。 入力が3つ以上の場合、表の…

職業訓練20日目 論理回路設計の基本作業(組み合わせ回路設計と順序回路)

組み合わせ回路設計技法 組み合わせ回路 出力がそのときの入力のみで決まる回路。 論理圧縮 論理を簡略化し、回路から冗長な部分を取り除くこと。 →回路のコスト削減や小型化を可能にする。・論理圧縮で必要な技法 ブール代数の諸定理 カルノー図 クワイン・…

職業訓練19日目 論理回路設計の基本作業(デジタル回路)

スレッシュホールドレベル(しきい値) 「H」と「L」を区別する境界値のこと。 TTLの場合 LO HI 入力 0Vから0.8V 2.0Vから5V 出力 0Vから0.5V 2.7Vから5V CMOSの場合 LO HI 入力 0Vから1.5V 3.5Vから5V 出力 0Vから0.05V 4.95Vから5V TTLとCMOSが混在した場…

職業訓練18日目 論理回路設計の基本作業(デジタル回路)

正論理と負論理 電圧が高い状態:H 電圧が低い状態:L 電圧 正論理 負論理 H 1 0 L 0 1 以下に示す論理値表は、全て正論理でのお話です。 出てくる記号はこんな感じの意味です。 入力: AとB 出力:Y NOT A Y 0 1 1 0 AND A B Y 0 0 0 0 1 0 1 0 0 1 1 1 OR …