こんなところにPICが

毎日毎日コンパイルを繰り返し、カウンタを作り

同期信号を作ったり、外部信号を認識したり

少しずつ、FPGAの使い方が分かってきた頃、ふと気がついた

FPGAの横にちょっと小さいデバイスがくっついてる

 

なんだろう?と思って調べて見ると、PICと言うICらしい

そもそもこれはなんの為についているんだろう?

私の上司は聞いても教えてくれない人で、本当に困ったが

ともかくFPGAを自力で動かす事に成功した私は

接続の意味から、このデバイスの役割を探り当てていく

 

 

私が作っているカメラは、カメラ部とフレームグラバー部に分かれていて

カメラ単体だと、I/Oができるのはカメラとフレームグラバーを繋ぐケーブルしかない

そしてそのケーブルの中で、UART(RS232Cみたいなやつ)に当たる線がPICに繋がっていて、その後、PICからFPGAにSPIの線が伸びている

f:id:info-akiron-com:20200923092045p:plain

PIC

今なら「なんだこれ、意味あるか?」と思うのだが、一つ一つ手探りだった私は

なるほど、PCからの唯一の指示の手段がこのラインなのだな

と言う事がわかったので、PICでRS232Cを送受信する方法を調べた

「ふむふむ、FPGAはHDL言語で制御するのに対して、PICはC言語で制御するんだな」

C言語は、なんならHDLより得意だぜい」

そんな事を考えながら、PICを勉強しました、PICの勉強も一苦労ありました。

なんでこんな所にPICが配置されていたのかと言うと、FPGAではUARTが制御できないと思ったのと、PICには不揮発メモリが少しあって、値を記憶する為のようでした(その様に使いました)

でも、フレームグラバーの方のFPGAも私が作ったのですが、そっちにはPICはなかったので、今思うと変な回路でした。

 

結局フレームグラバーには、PICがなかったので、どの様にUARTを構築したかと言うと、UARTの仕様に従い、HDLだけでUARTのロジックを組みました。

いわゆるIPコアを作った訳ですが、ここでは敢えてIPコアとは書きません。

 

驚かれるかも知れないし、呆れる人もいると思うけれど、様々なデバイスが繋がるこの回路ですが、私は全てHDLを手書きしました。