楽天市場
[無料でホームページを作成] [通報・削除依頼]

LPC810でUSB


Diego Mariano López様の"Inalambrico USB 12F675"のソフトウエアUSB1.1スタックを
8pin最強のLPC810に移植しました。


LPC810はUARTを搭載していますので、作例はHID-シリアルアダプターとしました。
作例のコード容量は約3.2kバイトでフラッシュリソースの80%を使用しています。
LPC810は内部クロック12MHzで作動します。
データ転送量は送・受信とも1バイト、シリアルのボーレートは9600bps。
(レポートデスクリプタの記述を変更すれば最大転送量8バイトまで対応可)

img_20150509-120122.jpg

2015.05.11追記
ループバックテストを行うためのホストプログラムをダウンロードファイルに追加しました。


LPC810のReset端子をIOポートとして使用すればPIO0_2~PIO0_5までを自由に使用することができるので、
プログラムの変更により4ビットのUSBIOとしても使用することが可能です。


(1)使用部品
USBコネクタ
LPC810
抵抗 10k
抵抗 1.5k
コンデンサー 0.1uF
ダイオード x3

(2)ピンアサイン
1.Reset (PIO0_5)
2.PIO0_4
3.RXD (PIO0_3)
4.TXD (PIO0_2)
5.D- (PIO0_1)
6.VDD
7.VSS
8.D+ (PIO0_0)

(3)回路図/配線図
img_20150509-120244.png
img_20150509-120316.jpg

(4)PIC->THUMB2 コード変換例

①レジスタの割付け例

r0:Wレジスタ
r1:作業用
r2:作業用 BTFSS/C命令で使用
r3:Carry
r4:作業用/INDF
r5:RAM1TOP = 0x10000000 (固定値)
r6:FSR
r7:RAM2TOP = 0x10000020 (固定値)
r8:PIN0 PORT0入出力レジスタのアドレス(固定値)
r9:DIR0 PORT0入出力設定レジスタのアドレス(固定値)
r10:NOT0 PORT0出力反転レジスタのアドレス(固定値)
r11:ISEL PIN割込みモードレジスタのアドレス(固定値)
r12:CFG USART設定レジスタのアドレス(固定値)

②命令の変換例 PIC->THUMB2

ADDWF Var_3,F
------------>
ldrb r1,[r7,#Var_3]
adds r1,r1,r0
movs r3,#0
adcs r3,r3,r3
strb r1,[r7,#Var_3]


SUBWF Var_6,W
------------>
ldrb r1,[r7,#Var_6]
subs r0,r1,r0
movs r3,#0
adcs r3,r3,r3


MOVLW 0x4B
BTFSS Data1
MOVLW 0xC3
MOVWF INDF
------------>
movs r0,#0x4B
ldrb r2,[r5,#Banderas_1]
lsrs r2,r2,#(Data1+1)
bcs  PrepararDescriptor1
movs r0,#0xC3
PrepararDescriptor1:
strb r0,[r5,r6]


RLF RecNRZI_1,W
------------>
ldrb r2,[r5,#RecNRZI_1]
lsls r0,r2,#1
adds r0,r0,r3
lsls r0,r0,#24
lsrs r0,r0,#24
lsls r3,r2,#24
lsrs r3,r3,#31


RRF INDF,F
------------>
ldrb r2,[r5,r6]
lsrs r1,r2,#1
lsls r3,r3,#7
adds r1,r1,r3
strb r1,[r5,r6]
lsls r3,r2,#31
lsrs r3,r3,#31


BSF Setup
------------>
ldrb  r1,[r5,#Banderas_0]
lsrs  r2,r5,#(28-Setup)
orrs  r1,r1,r2
strb  r1,[r5,#Banderas_0]


COMF Var_5,F
------------>
ldrb r1,[r7,#Var_5]
mvns r1,r1
strb r1,[r7,#Var_5]


SWAPF Var_6,W
------------>
ldrb r1,[r7,#Var_6]
lsls r0,r1,#8
adds r0,r0,r1
lsls r0,r0,#20
lsrs r0,r0,#24



ダウンロードはこちらから

https://drive.google.com/file/d/12GeUoRzcT8GU15SWNyDUXZtqrDzVZAIB/view?usp=sharing