開発日記

2022年10月 真贋判定装置を作るための要素実験

事業再構築補助金 交付申請時点での経費区分の変更について

2022.10.25

事業再構築補助金の交付申請 でわからないことがあったので事務局に問い合わせてみました。

Q1 購入予定の機械設備の型番と金額が変わる場合、他の区分の経費から流用は可能か?

A1 可能。別紙1に記載し、事業計画の変更を行う。応募申請時の事業計画書に追記する形でも構わない。

Q2 その場合、12条の計画変更は必要か?

A2 計画変更は必要ない。計画変更というのは交付決定後に変更する場合のものであって、交付決定前だと事業計画の変更になる。ただし必ずしも認められるわけではない。

Q3 予算がオーバーしそうな場合は補助率を下げることは可能か?つまり1000万円の機械を購入する場合に補助経費を200万円にして自社で800万円負担することは可能か?

A3 可能。総額が超えなければよい。別紙1に記載し、事業計画書の変更はすること。

 

なるほど~。

つまり、計画変更というのは交付決定後の予算の使い道を変えることを言うようです。

交付申請時に予算の使い道を変更するのはOKだということです。ただし、事業計画書の変更が必要になるということでした。

交付決定前、交付決定後のいずれのタイミングでも予算の使い道は変更できるようですね。

ただし、必ずしも認められるわけではないということですが、やむを得ない事情ならいいんじゃないでしょうか。どういう場合かはすぐに思いつかないけど、発注先の会社が事業をたたんでしまったとか、でしょうかねえ。見積時より単価が上がったというのはダメなようです。

 


DFNパッケージのはんだ付け

2022.10.23

SIP32408という極小パッケージのICを手はんだすることになりました。

Sip32408

絵で見るとはんだ付けは難しくなさそうですが・・・

Sipdigikey_20221023234301

実際のブツは非常に小さいです。

Sip1

このICを上の基板にはんだ付けするのですが、超難しいです。

リフローとかすれば簡単にできるのでしょうが、普通のはんだごてしか持っていません。

ちなみにヒートガンでやると、部品が小さすぎて吹っ飛びました。

 

どうやってはんだ付けしたかの手順を書き残しておきます。

① まずICの4つの端子にはんだを盛ります。※中央のパワーパッドには盛りません。

Sip9

② 下の写真のU50のところに乗せたいので、基板のパッドにはんだを盛ります。※中央のパワーパッドには盛りません。

Sip2

③ ピンセットで正確に位置を合わせて載せます。はんだごてでピンを温めると、フラックスが溶けて軽く固定されます。はんだが溶けているわけではないので固定は弱いです。

Sip3

④ はんだごての先に玉はんだを作ります。

Sip4

⑤ この溶融玉はんだを、部品と基板の隙間に押し当てます。(フラックスを溶かした反対側から)

Sip10

⑥ もう反対側も溶融玉はんだを押し当てて、気持ちではんだ付けします。ちゃんと付いているかどうかは不確かです。

⑦ はんだ吸い取り線の切れ端に新鮮なはんだを吸わせて「はんだ含浸線」を作ります。

Sip5

⑧ はんだ含浸線を部品と基板の隙間に押し当てて加熱します。ぐりぐりすると、熱い半田を含んだ細い銅線が隙間に入り込んではんだ付けしてくれます。

Sip8

イメージで描くとこうなります。

Sip11

こて先の入らない狭い隙間に、はんだ吸い取り線の銅線がバラけて入っていくイメージです。

 

こんな感じでやって勝率70%くらいでした。

メーカー推奨のパッド寸法はリフロー用に作られているので、手はんだでやるにはパッドの露出が少なくてやりにくいです。手はんだをする可能性があるならば、メーカー推奨パッド寸法+0.3mmくらい伸ばしておいたほうがよいと思います。

 


LatticeのMACHXO2を動かしてみる

2022.10.22

基板ができたので、LatticeのMACHXO2を実装して動かしてみました。

Np1140_1

秋月のFTDI2232D基板をMPSSEにしてMITOUJTAGで接続。

Np1140_bscan

バウンダリスキャンでCPLDが見えました。これが見えると本当に安心します。特に初めて使うICでは本当に安心できます。

EXTESTでLEDを光らせて、とりあえず「生きていること」は確認。

Np1140extest

 

さて、Latticeの開発環境のDiamondというのをダウンロードします。

Diamondは使っている人が少ないのか、あまり情報がありません。

最初にハマったのはライセンスファイルの置き場所です。ライセンスマネージャのようなものが起動してライセンスファイルを指定しても、次の起動時にまた同じ画面になってしまいます。C:\flexlm\license.datに置いたら認識してくれました。

それからDiamondはリモートデスクトップでは動かないようです。会社のPCに入れたのを家から使うことはできません。

 

MACHXO2は内蔵オシレータを持っています。デフォルトは2.56MHzのようですが、設定で133MHzくらいまでいけるようです。

この使い方ですが、

component OSCH
-- synthesis translate_off
	generic ( NOM_FREQ : string := "2.56" );
-- synthesis translate_on
	port (
		STDBY : IN std_logic;
		OSC :  OUT std_logic;
		SEDSTDBY : OUT std_logic
	);
end component;
attribute NOM_FREQ : string;
attribute NOM_FREQ of OSCH_INST : label is "2.56";

で宣言しておいて、

	OSCH_INST : OSCH
-- synthesis translate_off
	GENERIC MAP ( NOM_FREQ => "2.56" )
-- synthesis translate_on
	PORT MAP ( STDBY=> '0',
		OSC=> clk,
		SEDSTDBY=> open
	);

でインスタンシエートすればいいようです。

それから、プリミティブを呼び出すおまじないは、

library machxo2;
use machxo2.all;

です。

周波数は2.08MHz~133MHzですが精度は±5%くらいで、2個のCPLDをならべてLチカすると周期がずれていくのがわかります。

OSCHの使い方は下記のドキュメントを参照してください。

https://www.latticesemi.com/-/media/LatticeSemi/Documents/ApplicationNotes/MO/MachXO2sysCLOCKPLLDesignandUsageGuideJapaneseLanguageVersion.ashx?document_id=48195

 

一番の懸念だったのは、PROGRAMやDONEなどのコンフィグ用端子をユーザI/Oとして使えるかどうかですが、結論としてはOKでした。

設定箇所はTools→SpreadViewの中のGlobalPreferenceにあります。

Globalconfig

デフォルトでCONFIGURATIONがCFGになっていて、内蔵ROMからコンフィグするのだと思われます。これをEXTERNALにしてMASTER_SPI_PORTを有効にするとおそらく外部フラッシュROMになるのだと思われます。

また、PROGRAMNやINITなどの使用はSDM_PORTの中にありました。

Prog

デフォルトではDISABLEになっているので、PROGRAMN、DONE、INITはユーザI/Oです。

 

結論を言うと、内蔵のフラッシュからコンフィグするようにすればPROGRAMN、DONE、INIT、SPI、I2Cの端子はユーザI/Oとして使えます。

また、JTAGの端子(TCK,TMS,TDI,TDO)はデフォルトではJTAG端子ですが、JTAGをDISABLEにすればユーザI/Oとしても使えます。ただし、JTAGをDISABLEにするとJTAGENという端子が出てくるのですべての端子をユーザI/Oにすることはできません。

最大のユーザI/O数は、全I/O数-1本か(JTAG DISABLE時)か、全I/O数-4本(JTAG ENABLE時)となります。後者のほうが使い勝手はよいでしょう。

このCPLDで謎だったのは、カウンタの値をwhen文またはif文でデコードするとカウントアップしなくなることです。

カウンタの値をレジスタにコピーして使うようにしたら問題は起きなくなったのですが、謎です。

もしかすると、内部で値を参照している出力信号に対して外部から誤ってLやHの電圧をかけてしまうと正しく動作しないのかもしれません。そういう間違いはしていないと思うのですが、高い電圧を扱う回路なのでそういうことが起きているのかもしれません。

 


機械設備が欲しい~

2022.10.21

ICの真贋判定に光学検査装置というのを使う計画をしていたのですが、基板用の検査装置や産業カメラを何個も調べたのですが、どうもしっくりきませんでした。

基板用の画像検査装置をICの真贋判定に使うには正規品のサンプルが必要なのです。画像検査というのはどうしても正規品との比較になります。正規品が手に入らないのがIC真贋判定の難しさでもあります。それに画像検査装置でBGAのピンの数や、QFPのピンの曲がり具合を調べても、それが本物か偽物かを見分ける役には立ちません。

  

そんなとき、表面形状測定機というのをK社のホームページで見つけて、営業さんに問い合わせてみました。

すぐに、営業さんが連絡が来ました。

弊社を訪問したいということで、待っていたら巨大な箱を台車に積んでもって来ました。

デモをしてもらうと、まさに私が欲しいと思った機能が満載でした。

産業用カメラや基板用の光学検査装置を組み合わせて作ろうとしていた機能がすでに出来上がっている。ワンクリックで自動的に測定してくれる。この装置があれば、正規品がなくても偽造品や中古品を判別できるかもしれない。

 

しかし、めっちゃ高い。

事業再構築補助金の予算を組みなおして、他のものを全てグレードを下げてでも、この装置が欲しい。

そう思わせる機械でした。

 

最近思うのは、良い設備(機械)があれば、苦労してモノづくりとかしなくてもそれだけで仕事になる。

よい設備を並べれば、頭を使わなくても食べていけるんじゃないかと思う次第です。


 

PCBgogoから基板が届いた!

2022.10.20

PCBgogoに発注していた基板が届きました!

24時間コースにしたから18日に届く予定だったのが、なぜか出荷が遅れて18日に出荷。24時間コースの特急料金が無駄になりました。

そして19日届くかと思ったらDHLが関税をかけたようで受け取り時に料金が発生してしまい受け取れず。

結局、受け取りは20日になりました。

プリント基板は本来は関税がかからないそうなので、関税の還付ができるかどうか税理士さんに相談したら、DHLが間違って関税をかけたのだからDHLに返還請求するのがよいとのこと。なるほど。

さて、届いた基板がこちらです。

Np1140

中国とのことで心配はしていましたが、そんなに悪くありません。基板の精度や質は機械が決めるのでしょうから、よい設備を使っているのでしょうね。

さて、頑張って実装していきます。


基板設計中~

2022.10.14

昨日の基板設計の続きをしています。

Pcb2

ひとまず1cch分は完成


Lattice CPLDの実験基板

2022.10.13

LatticeのCPLD、MACHXO2がどうやって動くのかを確かめたいので、実験用基板を作っています。

Pcb1

万能基板でもいいのですが、JLCPCBというところに発注すれば激安で作れそうなので、基板にしてみます。

 


BGA324ピンは何層で引き出せるか?

2022.10.12

BGA324ピン(0.8mmピッチ)の引き出し基板が何層で作れるかが気になって眠れなくなったので、設計してみることにしました。

単純に外側から引き出していくと8層必要だったのですが、中央部分の通路(?)から4本引き出せるのと、角のところから1本引き出せるので、結果的には4層で引き出せました。

TOP層は、真ん中に通路を開けて対角線方向に引き出すのがポイントです。

Bgatop

内層1は外側のViaと中心のViaを攻めます。

Bgamid1

内層2はその次のViaを攻めます。

Bgamid2

最後に取り残したViaをBOT層から引き出します。

Bga_bot

配線リソースは完全に使い切ったわけではなく、おそらくあと12本程度は引き出せると思います。

通常の6層基板(配線4層+電源2層)でも、シグナルインテグリティを考えなければ全ピンにアクセスできるということがわかりました。


画像検査装置を選ぶ

2022.10.07

半導体真贋判定サービスを行うにあたって、画像検査装置を購入しようとしていました。

ピンの曲がりや、傷、汚れなどがわかるかなと思っていたのですが、どのメーカーさんも良品との差分の比較でないとわからないという回答でした。

そりゃそうですよね・・

比較しないと、目の前にある1個のICが本物か偽物かを見分けるのは無理ですよね。

 

自動的に機械が本物偽物を判断するのはあきらめて、高精細な写真の撮影と3D形状の測定を行ってくれる光学検査装置の導入して人間が判断するという方向に変えていくことにします。

リサイクルICだと半田のカスが付いていたり、正常な製造過程では付くはずのプレス痕が平らに均されてしまっている可能性があるから、そういうのを見分けられるようにしたいと思います。