技術史

2023年1月10日 (火)

Gigazineの記事「DDR Type 2の内部構造がすごい」

Gigazine:2023年01月09日 09時00分「旧東ドイツ時代の秘密警察シュタージのスパイが使っていた送信機「DDR Type 2」の内部構造がすごい」
この元記事がスゴイです。

まず、これが件の「DDR Type 2」の元記事
  ・DDR Type 2:Short-wave spy transmitter

関連する写真を追いかけますと・・・
終段管の「2E26」が出てきます。

さらに、さまざまなスパイ装置の紹介を見ますと、
例えば・・・
  ・R-354:Soviet spy radio set (Bumblebee)
1960年半ばの装置となってますが写真を追いかけると
https://www.cryptomuseum.com/spy/r354/img/302308/025/full.jpg
ありゃま。TTLがいっぱい並んでいます。
どうなっているのか、よく分かりませんが「スゴイ」でっす。

写真も多く、よくまとめられてます。
回路図がある装置も。

| | コメント (1)

2022年12月 2日 (金)

メカ屋の常識なの? 35度 atan(0.7)

昨夜のガレージ。
フライス屋佐藤テック君との話。

三角形 (見えるかな?)
   /|
  / |Y
 /  |
/___|
θ X

S:X=1 Y=1 の時の角度、45度は分かるわな。
私:  ほい。

S:X=√3、Y=1の時は30度。
私:  おう。

S:X=10 Y=7 やとどうなる思う?
私:  関数電卓を取り出してきてごそごそし始める。
    tan とちごて atan でっと。

S:ほぼ「35度」や。
私:  ほうぉ 34.992020度。
    10と7で分かりやすい。

35度を作る方法、知りませんでした。
30度は√3が無理数できっちりしない数字。
それが35度やと10と7の整数に。
35度になった切削用の治具があるそうな。

 

| | コメント (2)

2022年10月14日 (金)

8bitマイコンにも16bitのメモリ読み書き命令があった

8080のニーモニックでは
  LHLD nn と SHLD nn

Z-80なら
  LD HL,(nn)  LD (nn),HL

と、HLレジスタ(8bitレジスタのHとLを合わせて
16bitレジスタとする)を使っての16bitのメモリ
読み書き命令がありました。

割り込みで操作されるワード値を、読むだけ
あるいは書くだけなら、割り込み禁止操作が
不要だったのです。
  ※読んで処理して書き戻すときは
   当然アトミック操作が必要。

Z-80ではHLレジスタだけでなくBC、DEレジスタ
とIX、IYにもこの操作ができました。

タイマーなどのダウンカウンタのゼロチェック
(タイムアップチェック)が割り込み禁止にしなくても
できたのです。

この16bit値の直接読み書き機能、8bitマイコンでは
なかなかありがたかった。

6301にも LDD STD LDX STX命令があって、便利に
使って(アセンブラで)いました。
  6301はA,Bレジスタをペアにして。
  ただ、インデックスレジスタが1個というのがねぇ。
  メモリーの転送のように、あっちをこっちへという
  操作が面倒。

| | コメント (0)

2022年9月25日 (日)

恐ろしいピン名称:TMS9914の解説、昔のトラ技で発掘

古いトラ技を見ていて、
  ・2011年10月04日:恐ろしいピン名称
この話に関する記事を1995年11月号で発見しました。
11_20220925103801

目次
12_20220925103801
★印の記事
 ・IEEE488規格とGPIBコントローラ
   計測用インターフェース・ボード設計の基礎知識
というタイトルで、著者は橋本忠幸さんです。
   (10、11、12月号で連載)

そのp.311でμPD7210とTMS9914の違いを解説されています。
その中に、「TMS9914はMSBとLSBの表記が反対だぞ」を
示されています。

13_20220925103801

「TMS9900ファミリの名残り」だと。

私がピン名称をミスしなかったのは、この記事を見て
たからだったのでしょうか。
当時はインターフェース誌も定期購読してました。
インターフェースでもGPIBコントローラの解説は
あったと思いますので、今となってはわかりません。

※追記
GP-IBデータ・モニタと6303用デバッグ・モニタの製作(上)
をプロセッサ誌で掲載してもらったのが1988年5月号ですんで、
この橋本忠幸さんの記事よりずいぶん前。
ということは、私がGPIBで遊んでた(仕事で使ってた)のは
これよりまだ前ということかと。
HPのミニコン(HP-IBだ)に、VMEバスの68000や、独自の
Z80ボードをつないで計測システムを構築してました。

| | コメント (0)

2022年9月19日 (月)

「3・1/2桁」の由来が出てこないか調べてたら、こんな十字接続が

デジタルテスターの桁数表記「3・1/2桁」とは何?
を、調べてみるため(手持ちの書籍、雑誌からは発見できず)、
図書館に「デジタルテスター」「マルチメータ」絡みの
古い本をリクエストしました。
何冊かやってきたので目を通したところ、「3・1/2桁」や
「3.5桁」という言葉は出てきましたが、
「1/2桁」「0.5桁」の解説は発見できずでした。
しかし、こんな面白い「図」を発掘できました。

オーム社,1987年発行
 吉住司著 「ディジタルマルチメータ技術」
  ※著者さんの略歴には
     タケダ理研開発部と。

10_20220919102201

この本の【図1・6】に
11_20220919102201

2017年7月10日:「十字接続は避ける」
で紹介した接続方法が出ていたのです。
D1とD2の接続、十字になるのを嫌って斜め線でつなぐという表記に
なっています。
Aa1_20220919103301

もう一つがこんなOPアンプの表記。
IC-11の反転入力に、論理回路の反転入力記号の「○」を
付けてありました。

12_20220919102201

普通、アナログ回路だと、非反転入力は「+」、
反転入力は「-」で表現しますが、これはこれで
斬新な表現かと。
   ※この本の他の図でもこの表記がありました。
これを許せるかどうか・・・いかがでしょうか?


※関連
2011年01月31日:1/2桁とは
2011年08月10日:1/2桁とは 「セグメント説」
2022年6月29日:デジタルテスター「FLUKE 87IV」の赤外線通信

| | コメント (3)

2022年9月 6日 (火)

んっ? ボリュームの記号が! 

図書館へのリクエスト。
  ・工学社 I/O BOOKS Arduinoライブラリで作る電子工作

I11_20220906162801

工学社のI/O誌 はマイコン黎明期の購読書でした。
  えんえんと16進ダンプリストが載るように
  なってからは止めた・・・

図書館の蔵書検索、「Arduino」で検索して出てきた
新しい本(雑誌を除く)がこれ。
2021年11月の発行です。

どんなもんかな~っと、パラパラとページをめくりますと・・・
「なんだ、このつなぎ方は!?」という回路図に遭遇。

Ii2
Arduino NANOにGPSユニットと液晶表示モジュールを
つないで時計に仕立てようという記事です。

液晶4bitモードの話 は置いといて、
「初めて見たぞ!」というのがボリューム:可変抵抗の
つなぎ方です。

・拡大
Ii3
「R2 10KΩ」のスライダーへの結線、液晶の
コントラスト調節です。
   ほんとにこんな描き方ありなん? です。

初めて見ましたけど・・・

可変抵抗の記号

回路図CADなど、描画ツールの種類によっても、こんなつなぎ方も
ありなんでしょうか。(パーツのピンの問題)

※画像検索で
NOBのArduino日記! 20170303 可変抵抗の使い方
  次のページ  には 「 map(Val, 0, 1023, 0, 255); 」も出てくる


※巻末に著者さんの一覧がありました。
Ii4
二人目の方です。
https://www.solocamptouring.com/
いつでも正確な時計を自作。GPSからの情報を秒単位で表示します

※追記
常用している回路図エディタ:水魚堂さんのBSch3V
この部品ライブラリの可変抵抗器はこんな絵。

・VR2
見ての通りの2端子で斜め線からの
接続ピンは出ていません。
V1_20220907085301

・VR3
これで3端子接続。
V2_20220907085401
X=2,Y=3の大きさになっているので
2ピンのスライダーが中央からズレています。

・VR3C : 独自に作った部品
V3_20220907085601
X、Yとも2にして、スライダーを中央から
出しています。

「VR2」の斜め線からの線出し、いかがなもんでしょね。

※追記
仕事帰りに寄った(本の返却で)東成図書館の書架(分類番号549)で発見。
鈴木哲哉著「ボクの電子工作ノート」。
A11_20220907203301
2012年6月初版の本。

新JISの記号でやってます。
A13_20220907203401
探せばあれこれ出てきそう・・・
電子回路屋」さんのご意見、お待ちしています!



※発見
8080が動いた 2016年5月30日 作成者: vintagechips
  https://vintagechips.files.wordpress.com/2016/05/sbc80_cpu_sch_a.pdf
   回路図、DC12V出力の+12V出力DCコンの電圧調整VR

※追記
トランジスタ技術の最新号(2020年10月号)から
「回路図の描き方」という新連載が高知工科大学の
橘昌良さんを著者として始まったところです。
K2_20220908105901
http://www.ele.kochi-tech.ac.jp/tacibana/etc/analog-intro/resistor.html
http://www.ele.kochi-tech.ac.jp/tacibana/index.html#top-of-page
https://www.kochi-tech.ac.jp/profile/ja/tachibana-masayoshi.html
  上記の2冊の本、トラ技編集部に告げ口しておきました。


※ネットを探索
 fritzing
というツールを追いかけたら出てきました。
https://steemit.com/utopian-io/@rfece143/electronic-project-25-audio-volume-control-and-light-dimmer-using-potentiometer-and-arduino-uno

このページを辿ると・・・
F1_20220908152001

F2_20220908152001

「これがあたりまえだ」っということに
なっちゃう・・・困ったことです。

| | コメント (0)

2022年7月 7日 (木)

シリアル通信ボーレートとクロック周波数

デジタルテスター「FLUKE 87IV」の赤外線通信ユニット完成では
4.9152MHzの水晶を使って9600BPSのボーレートを得ました。

シリアル通信のボーレート、昔々は5単位テレテイプの45.5BPS。
マイコンになって110BPS、そして300BPS。
今は最低が1200BPSでしょうか。
9600BPSまでは2倍飛びで2400、4800BPS。
そして19.2kの中間に、9600を1.5倍した14.4kBPSが入っています。
ここから、両方で2倍飛びの値が使われます。

Arduino-UNOの場合、元クロックが16MHzです。
ボーレートのクロック分周比は、BPS値を16倍した値で16MHzを割る。
あるいは16MHz÷16÷BPS値で求められます

1200BPS~115.2kBPSまでその分周比を見てみると・・・
  ・・・割り切れません。
誤差(%)とともに表にしました。

      |   16.000MHz 
------|-------------
1200 | 833 0.04
2400 | 417 -0.08
4800 | 208 0.16
9600 | 104 0.16
14.4k | 69 0.64
19.2k | 52 0.16
28.8k | 35 -0.79
38.4k | 26 0.16
57.6k | 17 2.12
76.8k | 13 0.16
115.2k| 9 -3.55
↑ ↑
1/n 誤差(%)
   ATmega328のBRR(ボーレートレジスタ)へは
   「n-1」を設定する。

見ての通り、どのボーレートも誤差を含んでいて、
115.2kBPSはけっこう大きな値です。
10bit分で3割り越えですから、ちょっと気になります。
水晶発振子じゃなくセラミック発振子だと、素子が持つ
誤差も加わります。

  ※注:追記
   Arduino-UNOのボーレート設定、通常のX16クロックでは
   なく「X8」の倍速設定(UCSRAのU2Xをオン)が使われています。
   ですので、上の表のn値は2倍の値を設定できるということで
   割り切れなくても、微調できます。
   そして、誤差はおよそ1/2になります。
   115.2kなら16MHz/8/115.2k=17となり、
   結果、誤差は2.12%となります。(それでも大きいぞ)

5V電源での最高速20MHzでも割り切れずに誤差が発生します。

      |    20.000MHz
------|--------------
1200 | 1042 -0.03
2400 | 521 -0.03
4800 | 260 0.16
9600 | 130 0.16
14.4k | 87 -0.22
19.2k | 65 0.16
28.8k | 43 0.94
38.4k | 33 -1.36
57.6k | 22 -1.36
76.8k | 16 1.73
115.2k| 11 -1.36


誤差を生じないボーレートのクロックを作るには
ちょっと中途半端な周波数が必要です。
これらの周波数だと、1200BPSから115.2kBPSまで誤差ゼロ
が実現できます。

      | 7.3728 11.0592 14.7456 18.432
------|------------------------------
1200 | 384 576 768 960
2400 | 192 288 384 480
4800 | 96 144 192 240
9600 | 48 72 96 120
14.4k | 32 48 64 80
19.2k | 24 36 48 60
28.8k | 16 24 32 40
38.4k | 12 18 24 30
57.6k | 8 12 16 20
76.8k | 6 9 12 15
115.2k| 4 6 8 10

FLUKE 87IV - IrDAで使った4.9152MHzだと、
14.4kなどの1.5倍系のボーレートで誤差を生じます。

      | 4.608 4.9152 6.144 9.216 9.8304 19.6608
------|----------------------------------------
1200 | 240 256 320 480 512 1024
2400 | 120 128 160 240 256 512
4800 | 60 64 80 120 128 256
9600 | 30 32 40 60 64 128
14.4k | 20 - - 40 - -
19.2k | 15 16 20 30 32 64
28.8k | 10 - - 20 - -
38.4k | - 8 10 15 16 32
57.6k | 5 - - 10 - -
76.8k | - 4 5 - 8 16
115.2k| - - - 5 - -

  ※「-」は割り切れないことを示す。

   ※9.216MHzは18.432MHzの1/2

高ボーレート(通信速度が速く)になると、送受の割り込み処理時間
が問題になってきます。
115.2kだと1文字が86.8us
誤差のないメインクロックを選んだとしても、クロックを低く
してまうと、他の割込処理との輻輳を見ておかなければなりません。
送信は待ってくれますが、受信が間に合わないと文字抜けが生じ
ます。
マイコンの能力に見合ったボーレートを選ぶということで。

もうひとつ。
制御系で欲しいのがきっちりの「1ms」タイマー
割り切れるボーレート設定値と内部のタイマー設定値。
18.432MHzが魔法の数字のように思えてきます。
  ボーレートはOK。
  1msは18.432MHz ÷ 256 ÷ 72で1kHz。
  あるいは18.432MHz ÷ 1024 ÷ 18で1kHz。

この周波数、TK-80のクロックでした。
  ・2018年6月6日:マイコンのリセット回路
8224:クロックジェネレータICにつながってる
水晶がそれです。
これを9分周した2.048MHzが8080マイコンの動作周波数でした。

※追記
今までのAVRマイコンでは「分周比=16MHz÷16÷BPS値」
という計算で、分周比を求めていましたが、新しいAVRマイコン
では分周比に小数(例えば6bit分)が使えるようになっています。
結果的に分周比の計算は「16MHz×4÷BPS値」となり、
細かな設定ができるように考えられています。

| | コメント (0)

2022年3月29日 (火)

電卓の機能 知らなかった:「÷=」で「1/X」に

女房が持っているいくつかの電卓(関数電卓じゃなくごく普通の)、
その中の1つ、シャープ製の電卓に説明書が付いていたので、
消費税の計算方法なんかの解説を読んでいました。
  ※税込み、税抜きの計算手順なんかですな。

その説明書でこんな記述を発見。

「×=」で2乗を計算。 
   ※これは知っていたし、よく使う機能。

「÷=」で逆数を計算
 これで「1/X」が出てくる!
   ※この機能、知りませんでしたよ。

試してみてちょっと感激。
電卓への要望、何度も書いてますが
  「1/X」をワンアクションで。
これができない関数電卓はキライ。

関数電卓なら、2nd-Funcに割り当てられていても
「1/X」の機能があるだけで逆数計算できるだけ
ましです。

普通の電卓しかない時に逆数を計算したいなら、
計算途中のX値をいったんメモリーに入れてから
「1÷MR=」として値を出すわけです。
  ※あるいは直接数字入力で「1÷X=」で。

それが「÷=」の2アクションで逆数が出現しちゃったの
です。
普通の電卓で、です。
ほんとに知りませんでしたよ。

例えば、抵抗の並列計算。
 CM      メモリークリア
 R1 ÷ = M+  R1の逆数をメモリーに加算
 R2 ÷ = M+  R2の逆数をメモリーに加算
 R3 ÷ = M+  R3の逆数をメモリーに加算
 :
 RM      メモリーリード
 ÷ =     逆数にして並列抵抗値算出

これが、関数電卓じゃなく普通の電卓でできちゃう。
 1 / (1/R1 + 1/R2 + 1/R3 +・・・)

「×=」で2乗は知られてると思うんです。
でもこの「÷=」で逆数、皆に聞いても
「知らんかった」と驚いてました。

※できる電卓とできない電卓があるようです。

2007年03月01日:ロケットガール第二話…今から5分で操作をたたき込む
2007年03月24日:現用中の関数電卓
2018年2月24日:愛用電卓、アウト!
2018年3月14日:TIの電卓、これはバグなのか?
2020年10月26日:シャープ製関数電卓 EL-566


| | コメント (5)

2022年2月21日 (月)

Behzad Razavi 著「アナログCMOS集積回路の設計」 表紙の回路図

Behzad Razavi 著「アナログCMOS集積回路の設計」 ・・・続き

表紙の回路↓、決着をつけたいので、ブレッドボードに乗せてみました。
B12_20220219153301

C00
オペアンプはLMC6482。
上側のP-ch MOS FETは2SJ527。
下側のN-ch MOS FETはGNDへの負荷として10KΩで。
非反転入力のスイッチは、直接続のと10KΩを通して
の接続の2つに。
コンデンサは0.1uFで。
電源電圧は5V。

C21_20220221130801

SW1をオンして非反転入力を直接続すると・・・
C11_20220221130601
細いパルスが不安定に出ます。
 (机上で誘導を受ける感じ)

SW2をオンした時。
C12_20220221130801
パルス幅が広がりますが、それでも不安定。
拡大すると↓
C13_20220221130801
意味のある回路に思えませんが、どうなんでしょか?

※追試
負荷に発振止めのコンデンサ(☆)を入れ、
反転入力にボリュームをつなぐと、「0~Vdd間」を
可変できる「可変電圧出力電源」になりました。
C03
これを狙ってたん? 
でも、元回路だと出力0Vなんだけれど・・・。
非反転入力のスイッチは何の役目を・・・。
ランプ波が出るわけじゃなし。

※追記
本の中に「オペアンプ + P ch MOS FET」を使った回路がないかと
探してみました。
  こんな時は紙の本。 電子データ(PDF)ではパラパラめくり
  で目的物を発掘するなんてできません。
応用編のほうで2つ発見。
Dd1_20220222090601
VCOの解説で、定電圧回路を構成。

もう一つ。
Dd2_20220222090701

赤字で記しましたが、(b)は「+/-」を合成(加算)する部分が
逆です。
PMOSでアンプの出力位相が逆転するので、+/-を入れ替えないと
フィードバックが正しく動きません。
NMOSを使った(c)はそのままでOK。

| | コメント (2)

2022年2月19日 (土)

Behzad Razavi 著「アナログCMOS集積回路の設計」

「アナログCMOS集積回路の設計」 ・・・なにやら有名な本とのこと。
ちょっと気になったんで、図書館から借りてきました。

何が気になったのか・・・その表紙の回路図
B11_20220219153301

図書館の本は、左下部分に「大阪市立図書館」のタグシールが
貼ってあって、回路の一部が隠されていました。

ネットを探すと全体が判明。
B12_20220219153301
基礎編も応用編も同じものでした。

隠れていた左下の絵は、どうやらウエハーの断面のようです。

で、「オペアンプとMOS FETを使ったこの回路はなに?
というのが疑問点。

1.オペアンプ、入出力間にコンデンサがつながっている
  んで、積分回路のように思うが、つないであるのは
  非反転入力。
    ふつう、積分回路だと非反転をGNDにして、
    出力・反転入力間に積分コンデンサを入れる。

2.このつなぎかたなら、ゼロクロスを検出するコンパレータ?
  コンパレータで出力・非反転入力間にコンデンサを入れるのは、
  ヒステリシスをかけたときの(抵抗を入れるんで)
  スピードアップのためなんだけど・・・

3.ウエハーの絵が描いてあって、そこに一番上からプラス電源
  を落とし込むような雰囲気なんで、「ラッチアップ」の
  試験回路なの?

4.残念ですが、よくわかりません。 はい。
  どなたがご教示を! ぜひ!


※追記 こんな表紙もあった・・・なんだこれは!?
A04_20220220133001
「●」は無いけど、反転入力と非反転入力を「つないで」
GNDに落としてます。

※参
「十字接続は避ける」

※追記
MOS-FETの矢印」についてはこの本の表記方法に大賛成です。

パワーMOSFETの回路記号:MOSFETの矢印
 バイポーラトランジスタの場合は、そのエミッタに
電流の向きを示す矢印。
MOSFETでも、「ソース」に電流の向きを示す矢印で
良いんじゃないかと。
回路を考えるときは、「寄生ダイオードの向き」なんて
特種な場合(逆流のおそれあり)しか気にしないでしょう。
ソースにある矢印のほうが直感的かと。
この本の基礎編・概論p15では、
 「本書では、ソースとドレインを区別したほうが理解
  しやすいので図2.5(b)の記号を使うことにする。」っと

この記号↓
Img20160408100129381

※追記
「ウエハーの断面」を描いた解説、関係しそうなのは
P16の図2.6くらいかなぁ。
Aa1_20220220151901
表紙の回路、それにしても目的が不明です。



| | コメント (1)