■개요
USB 시리얼 디바이스 드라이버입니다.
CDC ACM, PL2303, FTDI등에 대응하고 있습니다.
USB 모뎀이나 USB 시리얼 케이블등으로 동작하면 좋다라고 생각합니다.
WindowsCE2.11이후 USB 탑재 기종에서만 동작합니다.
BSD 라이센스에 따릅니다.
■사용법
(1) CPU명에 대응한 디렉토리(XScale는 ARM입니다)에 있는 232usb.dll를
CE기의\Windows 디렉토리에 카피해 주세요. 이것이 드라이버의 본체입니다.
232usb.exe는 232usb.dll의 동작 설정용의 레지스트리 변경 프로그램입니다.
CE기상의 적당한 장소에 카피해 두어 주세요.
(1a) 버젼 변경을 위해 232usb.dll를 바꿔 넣었을 경우는,
232usb.exe를 기동해[Del]로 레지스트리를 삭제해 두어 주세요.
(2) 사용하고 싶은 시리얼 디바이스를 USB에 접속합니다.
드라이버명을 (듣)묻기 때문에, 232usb 라고 입력해 주세요.
(3) COM 포토 혹은 모뎀 일람에 나타납니다.
다이얼업 네트워크나 24term로부터 이용할 수 있습니다.
■232usb.exe
232usb.exe를 이용해 232usb.dll의 설정을 확인·변경할 수 있습니다.
통상의 사용에 대해 변경할 필요는 없습니다.
변경 후는 디바이스의 빼고 꽂기 혹은 리셋트가 필요하게 됩니다.
[Name]
디바이스의 이름을 변경합니다.설정 후는 리셋트가 필요합니다.
다이얼 업 네트워크의 엔트리도 재작성해 주세요.
[Del]
해당 디바이스의 레지스트리를 삭제합니다.
232usb.dll를 바꿔 넣었을 경우에는 전디바이스의 레지스트리를 삭제해 주세요.
▽BASIC (확인 기종:Sig3의 USB 클라이언트)
단순한 벌크 파이프 입출력을 그대로 COM 포토로 하는,
범용 드라이버입니다. 제어선은 사용할 수 없습니다.
예를 들어 CE기 자신을 USB 클라이언트로서 이을 수가 있습니다.
▽CDC ACM (확인 기종 :ALEXON TD-480, USB-RSAQ2/PL2303)
이른바「USB 모뎀」입니다.BASIC에 제어선을 더한 것입니다.
구판으로 서포트하고 있는 것과 동등합니다.
▽CDC WMC (확인 기종 :AH-K3001V)
파일 교환용의 엔드 포인트를 가지는 ACM 클래스의 확장입니다.
send/recv의 bit15-8이 파일 교환용 엔드 포인트 번호가 됩니다.
디바이스 오픈 후 SETIR를 발행하면(자) 파일 교환용으로 됩니다.
▽FTDI (확인 기종 :SRC06-USB)
FTDI USB 시리얼 변환 팁입니다.
자동 인식에 실패해 BASIC가 되는 것이 많이 있으므로,
그 경우에는 FTDI로 설정해 FT8U232에 체크를 넣어 주세요.
▽RCS310 (확인 기종 :RC-S310/ED3)
RC-S310 전용입니다.
□PL2303 (CDC ACM만)
PL2303의 경우로 지정합니다.CTS 제어선을 사용할 수 있습니다.
□12MHz (FTDI만)
FTDI로 기준 클락이 48 MHz는 아니고 12 MHz의 경우에 체크합니다.
□FT8U232 (FTDI만)
FT8U232AM/232 BM등의 경우로 지정합니다.
낡은 FTDI 팁 이외에서는 체크해 주세요.
□No Send 0
0바이트의 벌크 출력을 실시하면 버그가 발생하는 경우에 체크합니다.
0바이트의 WriteFile에서도 벌크 출력은 행해지지 않습니다.
□Send Whole
통상, 송신은 패킷 사이즈-1에 분할해 행해집니다.
Send Whole의 경우는 이 분할을 실시하지 않습니다.
또, 마지막 패킷이 꼭의 경우에는 추가의 0바이트 전송을 합니다.
No Send 0으로 조합했을 경우는 추가의 0바이트 전송은 없습니다만,
0바이트의 WriteFile를 실시했을 경우에는 0바이트의 송신을 합니다.
□No 1132 Bug
MediaQ MQ1132를 이용한 NPD-20 JWL등으로 16 n+14바이트의 송신을 실시하면 데이터가 변하는 버그를,
분할 전송 하는 것으로써 회피하는 기능을 무효로 합니다.
또한 Send Whole 설정 상태에서는 버그 회피할 수 없습니다.
□No Baudrate
SET_LINE_CODING(baud rate 설정)를 실시하면 버그가 발생하는 경우에 체크합니다.
□Serial Cable
다이얼 업 네트워크로 모뎀이 아니고,
케이블 접속으로서 취급합니다.설정 후 리셋트 해 주세요.
Recv[ ]
수신용 엔드 포인트를 16 진수로 지정합니다.
bit15-8은 CDC WMC에서의 파일 전송용입니다.
Send[ ]
송신용 엔드 포인트를 16 진수로 지정합니다.
bit15-8은 CDC WMC에서의 파일 전송용입니다.
Class[ ]
제어선용 엔드 포인트를 16 진수로 지정합니다.
Priority[ ]
수신 thread의 priority를 지정합니다.0으로 자동입니다.
Buf.Size[ ]
수신 버퍼의 크기를 지정합니다.0으로 자동(4096)입니다.
■유의점
·232usb.dll는 이하의 레지스트리를 이용합니다.
\HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\Default\Default\Default\RS232_USB
디바이스 드라이버 신규 등록시에 훅으로서 일시적으로 사용됩니다.
\HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\255_2_0\Default\Default\RS232_USB
각 디바이스마다 작성되는 엔트리입니다.
255_2_0의 부분은 각 디바이스의 vender_프로덕트_릴리스 번호가 됩니다.
·잘 동작하지 않는 디바이스나 CE본체가 많이 있습니다.
·새로운 디바이스를 찔러도 드라이버명을 묻지 않을 때는 벌써 다른 드라이버로 동작하고 있거나,
전류 제한으로 걸리고 있거나, 케이블이 비정상입니다.
·Sig3는 전류 제한이 힘들며, 신호의 열화에 대해서 엄격합니다.
또한 AH-K3001V는 표준의 FOMA 드라이버로 동작합니다.
·케이블 빼기나 전원단이나 프로세스 강제 종료등의 이상 사태에 대한
핸들링이나 flow control 주위는 꽤 적당합니다.
·구판에 대해 수신 thread의 취급을 바꾸고 있으므로,
스피드가 나오지 않을지도 모릅니다.그 경우는03-9-30판을 사용해 주세요.
·232usb.exe는 232usb.dll와 같은 Windows 디렉토리에 넣어 두어도 괜찮습니다.
·동작 확인은 Sig2, Sig3, NPD-20 JWL, HPW-600 JC로 하고 있습니다.
소스에 관해서는 src 디렉토리안의 source.txt를 참조해 주세요.
-------------------------------------------------------------------------
232usb - RS232 USB driver for WindowsCE
Copyright (c) 03-04 Zoroyoshi, Japan
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
첫댓글 상세한 설명에 번역문까지 정말로 감사드립니다. 그런데 다운받은 화일을 알집으로 풀고 arm 디렉토리안에 있는"휘"라는 파일을 232usb.dll로 rename후 시도해 보았는데도 안되는 것 같습니다. 여러모로 애써주셨는데.... 무더운 주말 건강하게 보내세요^^