로그인회원등록 내글장바구니주문조회현재접속자
 상품 검색








 게시판 검색





 
 
회원등록 비번분실


온라인 입금계좌
ㆍ기업은행
ㆍ219-043192-01-028
ㆍ이건영

      거래은행 바로가기
 
  AVR Applications
AVR 자료실
작성자 leeky        
작성일 2006/03/07
첨부#1 mmc2serial_src.zip (0KB) (Down:71)
첨부#2 s2313_mmc2serial_asy_shot.jpg (0KB) (Down:12)
Link#1 index.htm (Down:6)
ㆍ추천: 0  ㆍ조회: 343   
  S2313 MMC to Serial

● Introduction
One of my friends and colleagues at work, Paul Gregory, recently bought a Palm V organiser. Like many of the smaller organisers, it does not have an expansion port capable of taking additional memory cards, so he searched around for an adapter for various memory card types with little success.

He did, however, come across some homebrew projects interfacing MultiMedia Cards (MMCs) to microcontrollers, including this MP3 Player designed and built by Peter D'Antonio and Daniel Riiff for their final year project at Cornell University.

Several features of MMCs pointed out by Peter and Dan sounded interesting: nonvolatile, relatively cheap, readily connectable using a 2.54mm pitch connector, low number of pins, and simple serial output. The "Atmel" microcontroller they were using sounded familiar as well, so he asked me about how easy it would be to use one as a more general interface. I'd used these chips before.
The result is this project here.

● SourceForge
This page contains a snapshot of the project. Ongoing development may be found hosted on SourceForge, the open source software repository. The home page for the project is at http://sourceforge.net/projects/mmcserial/. If you want the latest code and information, please visit there.

● Hardware
The prototype hardware is laid out on Veroboard (stripboard), and consists of 2 chips and a few passive components, as well as the connectors for the RS232 serial connection and the MMC itself. The MMC connector for the prototype is an edge connector removed from an old floppy disk cable; I knew my habit of hoarding old computer bits and pieces would come in handy.

The two chips are an Atmel AT90S2313 microcontroller, which is effectively a small computer on a chip, and a MAX3223 RS232 level-shifter IC.

The microcontroller contains 2K of non-volatile flash memory, used to store the firmware that controls the reading and writing of the card. It also has a small amount of RAM, a UART for serial communication, and enough general I/O pins to interface to the MMC, with some to spare (8 known as Port B, and a further 7 as Port D - 2 of the Port D pins double up as the UART interface). At speeds below 4MHz, it will run at 3 volts, not coincidentally the same voltage as the card requires. This is most easily obtained from 2 AA alkaline cells in series.

The 3 volt operating voltage, however, causes problems when talking to a RS232 serial link. This requires a +/- 12 volt nominal voltage swing to communicate, which cannot be generated by the microcontroller on output, and worse, on input would destroy the chip.

Hence the second chip in the design, a MAX3223 level shifter. This is a wonderful (and cheap) piece of kit that generates its own +/- 12 volt levels and buffers both inputs and outputs appropriately. It has 2 input and 2 output buffers, enough to transmit and receive data, and also to deal with the RTS and CTS signals used for flow control between the host system and the adapter.

The transmit and receive signals from the host are routed the the UART pins on the microcontroller, so that data transmission can be dealt with in hardware. The RTS line goes to one of the other pins on Port D with a dual purpose - this one serves as an external interrupt, and can be used to wake the microcontroller from a power-down mode. This mode is used to keep current consumption to a minimum when reading or writing is not taking place.

Finally, a trio of status LEDs is connected to signal basic state information to the user.

-회로도
[img:MMC-Serial-sch.jpg,align=,width=640,height=934,vspace=0,hspace=0,border=0]

-배치도
[img:mmc-serial-s2313-layout.jpg,align=,width=640,height=392,vspace=0,hspace=0,border=0]

● Firmware
The firmware's job is to relay instructions and data between the card and the serial port. The card's own command sequences are somewhat cryptic and require handshaking with the card, so a slightly higher level semantics was required.

Because of the limited space for the firmware, we decided that the best thing to do was to expose a sector-based interface to the card, and rely on the host to organise that into a coherent file system. This meant that the adapter would be useful for any file system and therefore any host with a properly configured RS232 port. That sounded like a good idea to us.

Complete details of the protocol for talking to the card, and annotated source code
for the firmware, can be found behind the following links:

-Communications Protocol
http://homepage.ntlworld.com/seanellis/mmcserial_pro.htm
-Main Code
http://homepage.ntlworld.com/seanellis/mmcserial_fw.htm#main
-UART Code
http://homepage.ntlworld.com/seanellis/mmcserial_fw.htm#uart

;-----------------------------------------------------------------
; Name:         MMCSerial.asm
; Title:        Adapter to communicate via RS232 with Multimedia Card.
; Version:      1.0
; Last updated: 2001.08.26
; Target:       AT90S2313
;-----------------------------------------------------------------
; DESCRIPTION
; Application to interface a Multimedia Card with RS232.
;
; The card is operated in SPI mode, with the signals being attached to pins on Port B as follows:
; Pin B0 is used as the chip select for the card.
; Pin B1 is the data output to the card (=MOSI)
; Pin B2 is the data input from the card (=MISO)
; Pin B3 is the clock to the card (=SCK)
; Three status LEDs are wired to pins PB4, PB5, PB6.
;
; Communication with the host is via RS232 at 115,200 baud (8N1).
; The RTS and CTS lines are attached to pins D2 and D3 respectively,
; and the transmitter enable pin to pin D4.
;
; Clock speed is 3.6864 MHz, as required to get an accurate baud
; rate of 115200 baud.
;-----------------------------------------------------------------

- Build Process
All of these files should be loaded into an AVR studio project, with MMCSERIAL.ASM being the main target file. The build process should complete with no errors or warnings, and is then ready to be uploaded into the 2313 using whatever programming hardware is appropriate. I used the STK500, since its programming voltage can be set to 3V to match the voltage of the target board.

- Download all of the Eagle schematics, AVR Studio project files and documentation as a zip file (172KB),
http://homepage.ntlworld.com/seanellis/downloads/mmcserial.zip

or visit SourceForge for the definitive up-to-date releases and development progress.
http://sourceforge.net/projects/mmcserial/

● Further Development
Well, two things come to mind immediately. One - implement some host software to make use of the adapter. It's quite happy in debug mode, connected to a terminal emulator, but it's not exactly user friendly. This development will be the main thrust of the project currently hosted on SourceForge.

The second task is to design a proper printed circuit board, make it, and source both proper MMC card connector. and a connector for the Palm. The edge connector used to hold the card in the prototype is easy to misalign, and its grip is firm enough to cause significant wear to the card contacts. If anyone knows of somewhere in the UK where we can source small quantities (i.e. 1) of a MMC connector, please let me know.

   
윗글 M163 SD,MMC Interface
아래글 ATmega48 UDP/IP 적외선 리모콘 수신장치
    N         제목    글쓴이 작성일 조회 추천
AVR 자료실 안내 avrtools™ 2008/09/02 (화) 307 0
97 AVR Basic Compiler (4K Free) avrtools™ 2008/12/03 (수) 233 0
96 코드비젼 V2.05.0 평가판 avrtools™ 2011/07/17 (일) 159 0
95 8x8 LED Audio Spectrum Display avrtools™ 2009/10/18 (일) 274 0
94 AVR 펌웨어로 만드는 USB 드라이버 avrtools™ 2009/10/07 (수) 467 0
93 AVR-CDC and V-USB avrtools™ 2009/10/06 (화) 246 0
92 AVR USB-HID-Bootloader의 제작 avrtools™ 2009/10/01 (목) 281 0
91 AT91SAM7S256 개발환경과 컴파일러 [2] avrtools™ 2008/11/03 (월) 2208 0
90 SAM7S256 USB 드라이버와 AT91-ISP avrtools™ 2008/11/01 (토) 1201 0
89 AT91SAM7S256 공부를 시작합니다. avrtools™ 2008/11/01 (토) 599 1
88 ICCAVR V7.16A AVR 컴파일러 45일판 avrtools™ 2009/03/09 (월) 151 0
87 CodeVisionAVR1248b 最新版下载 leeky 2008/11/08 (토) 325 0
86 AVR UART 소스 (ICC AVR V6) avrtools™ 2008/12/03 (수) 208 0
85 cvAVR Soft Uart Source avrtools™ 2008/12/03 (수) 169 0
84 cvAVR 직렬포트와 LCD 시험용 소스 avrtools™ 2008/12/03 (수) 173 0
83 Free SmallC for AVR avrtools™ 2008/12/03 (수) 198 0
82 AVR910-ISP용 AVR-OSP2 Ver5.43 avrtools™ 2008/12/03 (수) 193 0
81 Code Vision AVR 컴파일러 2K 데모버전 avrtools™ 2008/12/02 (화) 126 0
80 AVR delay loop generator avrtools™ 2008/12/02 (화) 178 0
79 ICC tiny C컴파일러 V6 데모버전 (30일 제한판) avrtools™ 2008/12/02 (화) 90 0
78 ICC AVR C 컴파일러 V6 (4K 제한판) avrtools™ 2008/12/02 (화) 115 0
77 DasmAVR (Windows용 AVR 역어셈블러) avrtools™ 2008/12/02 (화) 173 0
76 AVR PROG KIT avrtools™ 2008/12/02 (화) 199 0
75 AVR JTAG ICE KIT avrtools™ 2008/12/02 (화) 286 0
74 AVR 부동소수점, 지연시간 계산기 avrtools™ 2008/12/02 (화) 197 0
73 ATtiny45 USB to RS232 인터페이스 avrtools™ 2008/09/26 (금) 226 0
72 MEGA32 128x64 GLCD Scope 제작 avrtools™ 2008/09/22 (월) 334 0
71 PC송신방식 Tiny2313 50x7 LED 전광판 avrtools™ 2008/09/10 (수) 289 0
70 mega8 적외선 거리측정 레이더 leeky 2006/05/07 (일) 1400 0
69 ATmega16 RFID #3 소프트웨어 leeky 2006/12/27 (수) 908 0
68 ATmega16 RFID #2 하드웨어 leeky 2006/12/27 (수) 1155 0
67 ATmega16 RFID #1 태그 leeky 2006/12/27 (수) 886 0
66 ISO 14443A RFID 카드의 읽기/쓰기 방법 [1] leeky 2007/02/25 (일) 1518 1
65 ATmega8 PSK31 RF Modem의 제작 leeky 2006/03/07 (화) 1402 21
64 T89C51SND1C 64M USB MP3 플레이어 avrtools 2006/03/04 (토) 1012 8
63 AVR 13.56MHz RFID 읽기/쓰기 장치의 제작 [7] leeky 2007/02/19 (월) 1078 4
62 WhereAVR for APRS GPS/Telemetry avrtools 2006/05/05 (금) 419 2
61 ATmega8 UI-TNC 무선모뎀의 제작 avrtools 2006/03/07 (화) 421 0
60 AVR APRS(GPS) Packet 무선모뎀 avrtools 2006/03/07 (화) 412 0
59 AT90PWM3 교류모터 속도제어 leeky 2006/04/07 (금) 967 1
58 M128 MMC LED 전광판 leeky 2006/03/07 (화) 949 0
57 Charon 2 이더넷 모듈의 소개 avrtools 2006/04/04 (화) 506 0
56 S2313 LED 회전계 (TACHO METER) avrtools 2006/03/28 (화) 623 0
55 Mega8 + 128x128 LCD 스코프 avrtools 2006/03/28 (화) 1212 0
54 Mega8 + OV6630 Treva 모바일용 카메라의 화상처리 leeky 2006/03/19 (일) 817 0
53 YUKI Mega8 MP3 Player #3 avrtools 2006/03/11 (토) 868 0
52 AVR JTAG 에뮬레이터의 제작 avrtools 2006/03/07 (화) 872 0
51 USB AVR 프로그래머 AvrUsb500 avrtools 2006/03/07 (화) 757 1
50 Mega88 USB 버스 모니터 avrtools 2006/03/07 (화) 413 0
49 M16 MMC Flash Memory leeky 2006/03/07 (화) 483 1
48 M163 SD,MMC Interface leeky 2006/03/07 (화) 467 0
47 S2313 MMC to Serial leeky 2006/03/07 (화) 343 0
46 ATmega48 UDP/IP 적외선 리모콘 수신장치 avrtools 2006/03/07 (화) 444 0
45 HDD MP3 플레이어 leeky 2006/03/07 (화) 624 0
44 MP3 yampp-3/USB leeky 2006/03/07 (화) 315 0
43 MP3 Player yampp-3 leeky 2006/03/07 (화) 281 0
42 YUKI MP3 플레이어2의 제작 (ATmega8 + SD Card) avrtools 2006/03/07 (화) 410 0
41 AVR CD 플레이어 leeky 2006/03/07 (화) 562 0
40 S2313 초음파 거리계 (미터, TV 스크린, LED 표시) avrtools 2006/03/07 (화) 575 0
39 RF Spectrum Monitor avrtools 2006/03/07 (화) 415 0
38 Easy Ethernet AVR 웹서버 leeky 2006/03/07 (화) 481 0
37 90S4433 LCD표시 100Mhz 주파수 카운터 leeky 2006/03/07 (화) 275 0
36 ELM Audio Spectrum Monitor avrtools 2006/03/07 (화) 388 0
35 Mega8 Door Bell leeky 2006/03/07 (화) 303 0
34 AVR 휴대용 DVM leeky 2006/03/07 (화) 529 0
33 Minimum Mass Waveform Capture and Display leeky 2006/03/07 (화) 286 0
32 AT90S2313 디지털 용량계 avrtools 2006/03/07 (화) 391 0
31 SLO2016 Alphanumeric Intelligent Display leeky 2006/03/07 (화) 197 0
30 AT90S2313 흔드는 LED 전광판 (POV) leeky 2006/03/07 (화) 450 0
29 ATtiny2313 Scrolling LED Sign avrtools 2006/03/07 (화) 386 0
28 Tiny22,S1200 나이트 라이더 avrtools 2006/03/07 (화) 337 0
27 ATtiny26L의 AD 변환과 PWM 출력제어 leeky 2006/03/07 (화) 533 0
26 S2313을 사용한 DS1820 온도계 leeky 2006/03/07 (화) 290 0
25 ATmega8535 온도센서 leeky 2006/03/07 (화) 318 0
24 AVR2313 100MHz RF연결 주파수 측정메터 avrtools 2006/03/07 (화) 222 0
23 VHF 무선 데이터 송신기 leeky 2006/03/07 (화) 525 0
22 90S2313 1MHz 파형 포착기 leeky 2006/03/07 (화) 257 0
21 VHF 무선 데이터 수신기 avrtools 2006/03/07 (화) 412 0
20 AVR 5x7 Dotmatrix LED leeky 2006/03/07 (화) 261 0
19 Mega163 웹 LCD leeky 2006/03/07 (화) 415 0
18 AVR 이더넷 시험소프트 avrtools 2006/03/07 (화) 336 0
17 AVR 넷트웍 시계 (타임 프로토콜) avrtools 2006/03/07 (화) 403 0
16 RS-232 to 100 MHz RF desktop avrtools 2006/03/07 (화) 261 0
15 AVR 6디지트 50MHz 주파수 카운터 leeky 2006/03/07 (화) 239 0
14 AVR DS1820 온도센서 avrtools 2006/03/07 (화) 282 0
13 AVR 직접주파수 발생기 (AT90S2313 DDS) avrtools 2006/03/07 (화) 423 0
12 프로그래머블 PLL 제어 avrtools 2006/03/07 (화) 259 0
11 AVR AT90S2313 7Segment LED Display leeky 2006/03/07 (화) 239 0
10 TINY15L 무전원 4채널 온도계 avrtools 2006/03/07 (화) 358 0
9 8PIN AVR을 사용한 풀컬러 LED leeky 2006/03/07 (화) 392 0
8 DS1820 고분해능 온도계 avrtools 2006/03/07 (화) 366 0
7 S2313 디지털 전압계 avrtools 2006/03/07 (화) 489 0
6 S2313 적외선 USB 모듈 avrtools 2006/03/07 (화) 352 0
5 S2313 주파수 카운터 avrtools 2006/03/07 (화) 285 0
4 AVR90S2313과 Treva 카메라의 연결 leeky 2006/03/07 (화) 336 0
3 Mega8 PID 온도제어 leeky 2006/02/24 (금) 709 1
2 90S2333 3채널 다이오드 온도계 avrtools 2006/02/24 (금) 262 0
1 AT89S8252로 만드는 1~40MHz DDS leeky 2006/02/14 (화) 331 0
1

바구니 : 0
 보관함 : 0
오늘뷰 : 0
HOME   |   회사소개   |   제휴안내   |   회사위치   |   서비스이용 약관   |   개인정보 보호정책   |   사이트맵
17015 경기도 용인시 기흥구 동백중앙로16번길 16-25, 508호. 전화 : 031-282-3310
사업자 등록번호 : 697-47-00075 / 대표 : 이건영 / 업태 : 제조업 / 종목 : LED조명, LED전원, 제어장치.
개인정보 관리책임자 : 홈페이지 관리자 . Copyright ⓒ2016 아크레즈 (ACLEDS INC.)
HOME TOP PREVNEXT 0 0 0