月別アーカイブ: 2015年1月

elecrowでDHL

PayPalと北京POSTが協業して 「PayPal Package」 なるサービスを開始した事で、日本向けのRegistred Airmail が少し早く届くようになったことは以前にも触れましたが(公式blogはここ)、昨年11月からDHLを利用した場合により早く日本に届くようになる 「深センDHL」 なる配送オプションが選べるようになっています(公式blogはここ

通常のDHL配送に比べて0.2USDほど高めに設定されていますが、eleclowの謳い文句では日本への配送が1~2日で完了するとの事。前述のblog内に記載された実例だと深センで17時にpickupされた後、翌12時には配達完了になってます。実に24時間以内に配送完了。毎回これなら確かに凄い。

で、試しに今回配送を深センDHLで指定した結果がこれ

IMG

おお、確かに早い!

運悪く日曜日を挟んでしまったので2日かかってますが(DHLは日曜日は完全に業務が止まります)、日曜日を挟んでなければ深センでの集荷翌日の配達もありえたかも。中間配送業者のところで何日もロスすることも無くていいですね。

配送料がもっとも安いRegistred Airmail (4.6USD) との差額が12USDほど。2-3種類の基板をまとめて注文するなら積極的に使いたいサービスです。

なお出来上がった基板はこれ

IMG

今のところ配布予定はありません

 

 

PICのBrown-Out Reset (BOR)

PICには供給電圧を監視して、PICが正常に動けそうに無いほどに電圧が低下してたら自立的にリセットを行うBOR(Broun Out Reset)なる機能がある。PIC18F2550の場合、監視電圧の閾値がCONFIGで設定可能で

BORV=0 4.59V
BORV=1 4.33V
BORV=2 2.79V
BORV=3 2.05V

となっている。一定時間この電圧を下回るとPICは自分自身をリセットする。

普通に電源ONでPICが起動したのか(POR, Power-On Reset)、起動後のBORで再起動から立ち上がってきたのかが判断出来るように専用のステータスレジスタが用意されている。それがRCONレジスタ。このレジスタの最下位BITがBORステータスビットとなっている。

が、ここに大きな落とし穴。

RCONレジスタのBORステータスビットは「Power-On ResetまたはBrown-Out Resetによって常に0にクリアされます」と書かれている。なんじゃそりゃ。それじゃBOR発生の判断に使えないじゃん!

まあ、実は正解もちゃんとドキュメントに記載されてるんだけど。正しくBOR発生を検出する為にはPORステータスビットと一緒に判定する必要がある。手順は次のとおり。

  1. RCONレジスタのBORが0でPORが1ならBORが発生したと判断する
  2. 1の判断の後に、プログラムでRCONレジスタのBORとPORを1に初期化する

RCONレジスタのBORステータスビットはBOR発生時もPOR時も0にクリアされる。一方で、同RCONレジスタのPORステータスビットはPOR時は0にクリアされるもののBOR発生時は値が変化しない。よって両方を同時にチェックすることで初めてBOR発生を判断出来る。