реклама на сайте
подробности

 
 
> Библиотеки для USB, Нужно сделать устройство к которому можно подключать USB flash память
Androliz
сообщение Sep 4 2008, 12:31
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 34
Регистрация: 22-09-06
Из: Беларусь
Пользователь №: 20 595



Нужно сделать устройство к которому можно подключать USB flash память. Микроконтроллер LPC2388 с usb host внутри. Но ходят слухи что реализация поддержки USB flash довольно сложная штука. Может кто-нибудь реализовывал подобное. Может у кого есть библиотеки котоырми он может поделиться или ссылки.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
torik
сообщение Sep 16 2008, 05:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



А SD-карточку проще? Как с ней вообще работать-то?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
ControllerZ
сообщение Sep 19 2008, 04:06
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 6-08-05
Пользователь №: 7 409



Цитата(torik @ Sep 16 2008, 11:53) *
А SD-карточку проще? Как с ней вообще работать-то?

С сд картой конечно же проще. Работать с ней через SPI интерфес, если нужно могу скинуть исходники работы с картой на PIC'е

Чегото на пик найти немогу вот мой вариант работы на авр с карточкой MMC

CODE

.device AT90S2313

;***** I/O Register Definitions
.equ SREG =$3f
.equ SPL =$3d
.equ GIMSK =$3b
.equ GIFR =$3a
.equ TIMSK =$39
.equ TIFR =$38
.equ MCUCR =$35
.equ TCCR0 =$33
.equ TCNT0 =$32
.equ TCCR1A =$2f
.equ TCCR1B =$2e
.equ TCNT1H =$2d
.equ TCNT1L =$2c
.equ OCR1AH =$2b
.equ OCR1AL =$2a
.equ ICR1H =$25
.equ ICR1L =$24
.equ WDTCR =$21
.equ EEAR =$1e
.equ EEARL =$1e
.equ EEDR =$1d
.equ EECR =$1c
.equ PORTB =$18
.equ DDRB =$17
.equ PINB =$16
.equ PORTD =$12
.equ DDRD =$11
.equ PIND =$10


.def temp = r16
.def byte = r17
.def byte_read = r18

.def arg0 = r19
.def arg1 = r20
.def arg2 = r21
.def arg3 = r22
.def crc7 = r23
.def errmmc = r23
.def cmd = r24

.equ clk =0
.equ do =2
.equ di =1
.equ cs =3


.cseg ; CODE segment.

.org 0
rjmp init ;Reset
reti ;INT 0
reti ;Pin Change
reti ;Output compare
reti ;Timer 1
reti ;Timer 0
reti ;EEPROM ready
reti ;Analog Comparator




;Main Routine
init:
ldi r16, $DF
out SPL, r16
rcall PORT_SETUP
rcall MMC_RESSET


ldi cmd, 16
ldi arg0, $0
ldi arg1, $0
ldi arg2, $02
ldi arg3, $0
ser crc7
rcall MMC_CMD

rcall MMC_CLK_FF

ldi cmd, 17
clr arg0
clr arg1
ldi arg2, $02
clr arg3
ser crc7
rcall MMC_CMD

rcall MMC_CLK_FF
rcall MMC_CLK_FF
cpi byte_read, $fe
brne end_er

ldi temp, 0
READMMC:
rcall SPI_SEND_FF
dec temp
brne READMMC
READMMC_1:
rcall SPI_SEND_FF
dec temp
brne READMMC_1

; rcall MMC_CLK_FF
;

; ldi cmd, 16
; ldi arg0, $0
; ldi arg1, $0
; ldi arg2, $02
; ldi arg3, $0
; ser crc7
; rcall MMC_CMD
;
; rcall MMC_CLK_FF
;
; ldi cmd, 24
; ldi arg0, $0
; ldi arg1, $0
; ldi arg2, $0
; ldi arg3, $0
; ser crc7
; rcall MMC_CMD
; rcall MMC_CLK_FF
; cpi byte_read, $FF
; breq end_er
;
; rcall SPI_SEND_FF
; rcall SPI_SEND_FF
; ldi byte, $FE
; rcall SPI_SEND
;
; clr temp
; clr byte
;MET:
; rcall SPI_SEND
; inc byte
; dec temp
; brne MET
;
; clr temp
;MET1:
; rcall SPI_SEND
; inc byte
; dec temp
; brne MET1
;
; rcall MMC_CLK_FF
; rcall MMC_CLK_FF
; andi byte_read, $1F
;
; out PORTB, byte_read

LOOP:
rjmp LOOP

end_er:
sbi PORTB, 0
rjmp end_er

end_OK:
sbi PORTB, 7
rjmp end_OK

PORT_SETUP:
push r16
clr r16
out PORTD, r16
out PORTB, r16
out DDRB, r16
ldi r16, $0D
out DDRD, r16
pop r16
ret

MMC_CMD:
push temp
push byte

mov byte, cmd
ori byte, $40
rcall SPI_SEND

mov byte, arg0
rcall SPI_SEND

mov byte, arg1
rcall SPI_SEND

mov byte, arg2
rcall SPI_SEND

mov byte, arg3
rcall SPI_SEND

mov byte, crc7
rcall SPI_SEND

pop byte
pop temp
ret

MMC_CLK_FF:
push temp
ldi temp, $FF
rjmp MMC_CLK_1
MMC_CLK:
push temp
ldi temp, $10
MMC_CLK_1:
rcall SPI_SEND_FF
cpi byte_read, $FF
brne MMC_CLk_2
dec temp
brne MMC_CLk_1
MMC_CLK_2:
pop temp
ret

MMC_RESSET:
push byte
push temp
rcall SPI_CS_1
ldi temp, $10
MMC_RESSET_1:
rcall SPI_SEND_FF
dec temp
brne MMC_RESSET_1
rcall SPI_CS_0

ldi cmd, 0
clr arg0
clr arg1
clr arg2
clr arg3
ldi crc7, $95
rcall MMC_CMD


ldi temp, $10
MMC_RESSET_2:
rcall SPI_SEND_FF
cpi byte_read, $FF
brne MMC_RESSET_3
dec temp
brne MMC_RESSET_2
ldi temp, $FF
MMC_RESSET_3:
dec temp
breq MMC_RESSET_4
ldi cmd, 1
clr arg0
clr arg1
clr arg2
clr arg3
ser crc7
rcall MMC_CMD
rcall MMC_CLK_FF
cpi byte_read, $00
brne MMC_RESSET_3
MMC_RESSET_4:
; rcall MMC_CLK

pop temp
pop byte
ret

SPI_SEND_FF:
push r16
push byte

ldi r16, $08
ldi byte, $FF
rjmp SPI_SEND_1
SPI_SEND:
push r16
push byte

ldi r16, $08
SPI_SEND_1:
cbi PORTD, clk
cbi PORTD, do
sbrc byte, 7
sbi PORTD, do
sbi PORTD, clk
rol byte

lsl byte_read
sbic PIND, di
ori byte_read, 1

dec r16
brne SPI_SEND_1

cbi PORTD, clk
sbi PORTD, do

pop byte
pop r16
ret

SPI_CS_0:
cbi PORTD, cs
ret

SPI_CS_1:
sbi PORTD, cs
ret


Сообщение отредактировал zltigo - Sep 22 2008, 20:30
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Androliz   Библиотеки для USB   Sep 4 2008, 12:31
- - aag   Может проще не usb-flash подключать, а sd-карточку...   Sep 15 2008, 11:18
|- - arizona   У Микрочипа несколько апнот и с СД картой и флэшко...   Sep 18 2008, 16:06
|- - ReAl   Цитата(ControllerZ @ Sep 19 2008, 07:06) ...   Sep 22 2008, 20:24
- - drovik   Началось все с ARM'а, прошло через PIC'и и...   Sep 19 2008, 07:46
- - Kuzmi4   Если кому есчё интересно - как то уважаемый bloodd...   Sep 19 2008, 08:15
|- - K0l0b0ck   Цитата(Kuzmi4 @ Sep 19 2008, 11:15) Кому ...   Sep 22 2008, 16:26
|- - vvvvv   Цитата(Kuzmi4 @ Sep 19 2008, 12:15) Если ...   Sep 23 2008, 08:46
- - Kuzmi4   2 K0l0b0ck - попробуйте здесь("В помощь начин...   Sep 23 2008, 08:28
- - Kuzmi4   2 vvvvv - ОНО   Sep 23 2008, 08:53
- - Androliz   Так что по поводу usb-host и поддержка usb flash?...   Oct 1 2008, 08:17
|- - arizona   Цитата(Androliz @ Oct 1 2008, 11:17) Так ...   Oct 4 2008, 17:54
|- - P@ta   Здравствуйте, товарищи! Вижу что форум у Вас п...   Nov 13 2008, 10:23
|- - Herz   Цитата(P@ta @ Nov 13 2008, 12:23) Сами по...   Nov 13 2008, 10:44
|- - arizona   Цитата(Herz @ Nov 13 2008, 13:44) Ну, а ч...   Nov 21 2008, 07:10
- - slog   Есть сканеры с RS-232 или PS/2 интерфейсом, как у ...   Nov 13 2008, 10:30
- - P@ta   Спасибки конечно, но надо под АВРы. А вообще говор...   Nov 21 2008, 10:35


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th August 2025 - 13:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016