PDA

View Full Version : شروع کار برای برنامه نویسی usb



siavashman
جمعه 25 دی 1388, 02:16 صبح
سلام.

قبل از هرچی باید بگم من با دلفی بیش از 7 ساله دارم کار میکنم و تا حالا باهاش کنترل سخت افزار انجام ندادم.


حالا میخوام با دلفی یه برنامه ای بنویسم که توسط usb بتونم 12 تا لامپ LED روی یه کیت رو به دلخواه روشن کنم. حالا سوالم اینه:

1. برای کار با usb حتما باید درایور ساخت. این کار رو چه جوری باید انجام داد؟ البته فکر کنم نرم افزارهای ساخت درایور باشن. برای اینکار چی کار باید کرد؟

2. چه جوری یه کیت رو کنترل کنیم؟

3. کسی که تا حالا کار این چنینی رو نکرده و اطلاعات پایه هم نداره برای اینکار پیشنهاد میکنید از کجا شروع کنه؟

من ته این کار میخوام فقط یه کیت داشته باشم که بتونم 12 تا لامپ روش رو با دلفی روشن و یا خاموش کنم. اگه کسی میتونه کمکم کنه ممنون میشم.

farzadsw
جمعه 25 دی 1388, 11:22 صبح
برای ارتباط از طریق usb باید سخت افزارتون (همون طرف led ها) قابلیت اتصال به usb رو داشته باشه . 4 تا راه دارید :
1. استفاده از چیپ های مخصوص usb (در واقع تبدیل usb به سریال و پارالل) مثل ftdi که تو ایران هم هست .
2. استفاده از میکروی atmega 8 به جای چیپ ftdi ، البته سرعتش کمتره و یکم هم مشکل تره
3. استفاده از کابل آماده تبدیل usb به سریال به جاب استفاده از چیپ در مدار
4. استفاده از میکرویی که usb رو ساپورت کنه
بین این موارد از نظر قیمت به ترتیب 2و1و3و4 هستن (2 ارزونترین)
از نظر سادگی به ترتیب 3 و 1 و 2و 4 هستن (3 از همه آسونتره)
با توجه به انتخابتون برای نرم افزار طرف کامپیوتر :
1. درایورش توسط خود شرکت سازنده ارائه میشه ، مثال و نمونه کدش هم اینجاست :
http://www.ftdichip.com/Projects/CodeExamples/Delphi.htm
2. درایور و مثالش رو تو اینترنت میتونید پیدا کنید(اپن سورس هست) ، فقط باید avrusb رو سرچ کنید.(البته میشه تو مد HID هم راهش انداخت که نیازی به درایور نداره ولی سرعتش خیلی کمه)
3. درایورش توی cd همراه کابل هست ، نصب که کنید یه پورت serial مجازی درست میکنه . و کافیه شما مثل پورت سریال براش برنامه بنویسید
4. بسته به اینکه از چه مدی استفاده کنید(تو میکروتون) میتونه درایور لازم نداشته باشه و یا خودتون براش بنویسید


بعد از اینکه انتخابتون رو کردید ، باید یه میکرو هم داشته باشید (مثلا atmega16 یا atmega8 یا غیره) که از طریق usart اطلاعات رو از کامپیوتر بگیره یا به کامپیوتر بفرسته .(در مورد های 1و2و3 )
اون led ها رو همون میکروتون کنترل میکنه . البته میتونید کار های پیچیده تری هم باهاش انجام بدید. برای نحوه ارتباط usart ، تاپیک ارتباط با کامپیوتر (سریال و پارالل ) که قبلا ایجاد شده رو بخونید

farzadsw
شنبه 07 فروردین 1389, 13:40 عصر
چرا اینقدر قفل هستید؟ وقتی اطلاعاتی ندارید لطفا نظر ندید ، در مورد نحوه برنامه ریزی یو اس بی سوال می شه آقایون قفل در مورد تبدیل یو اس بی به سریال نظر میدن هرچند نمیشه خرده گرفت چون معمولا کسانی که اطلاعاتی دارند اونو دراختیار دیگران نمیذارن و را واسه قفلا بازه که نظرات ابلهانه ارایه کنند و واسه خودشون اظهار فضل بکنن
کی قفله ؟ اگه تاپیک قفل بوده شما چطوری پست زدید ؟

این 2 تا جمله رو دوباره بخون شاید بفهمی که منظور این تاپیک چی بوده:


حالا میخوام با دلفی یه برنامه ای بنویسم که توسط usb بتونم 12 تا لامپ LED روی یه کیت رو به دلخواه روشن کنم.

من ته این کار میخوام فقط یه کیت داشته باشم که بتونم 12 تا لامپ روش رو با دلفی روشن و یا خاموش کنم

در ضمن اگه طلبی چیزی از بنده یا سایت دارید ، بگید چقدر هست ، تسویه کنیم ، اعصاب شما راحت تر بشه.

msd163
شنبه 07 فروردین 1389, 17:45 عصر
سلام
برای کاری که دوستمون میخواد انجام بده بهترین راه استفاده از مبدلهای usb به rs232 هست
اما من میخوام با میکروهایی کار کنم که مستقیما usb رو ساپورت می کنه.
از چه میکروهایی می تونم استفاده کنم ؟
شرکت سیپرس چند نمونه میکرو داره. ولی نمیدونم تو بازار ایران پیدا میشه یا نه.

لطفا اگه پیشنهاد یا راه حلی دارید بگید ...

با تشکر .

farzadsw
شنبه 07 فروردین 1389, 20:24 عصر
میکرو های بر اساس ARM ساخت شرکتهای فیلیپس ، اتمل و ST تو ایران پیدا میشن . همگی usb رو ساپورت میکنن.
این مدلها ارزون هستن و نسبتا رحت پیدا میشن :
at91sam7s
at91sam7x

msd163
شنبه 07 فروردین 1389, 21:35 عصر
تشكر فرزاد جان
من فرومتو كه درباره arm هست تا حدودي مطالعه كردم
واقعا عاليه
---------------------------------
يه سوال...
با net micro sdk. ميشه ميكرو رو كنترل كرد
در واقع من فقط بايد ميكرو رو با كامپيوتر كنترل كنم...
برنامه نويسي ميكرو با بقيه ي دوستانمه .
تو اين مرحله من دنبال ميكروي مناسب ميگردم كه :
- قابليت ساپورت يو اس بي داشته باشه
- با sdk در c# ارتباط برقرار كنه
- تو بازار ايرانم باشه

بازم تشكر مي كنم.

farzadsw
یک شنبه 08 فروردین 1389, 01:42 صبح
با استفاده از net. میشه برای پورت usb برنامه نوشت (برنامه طرف pc) ، و وابسته یه نوع میکرو نیست ، فقط کافیه میکرو مورد نظر usb رو ساپورت کنه .
اون net micro sdk. اگه اشتباه نکنم برای نوشتن برنامه مخصوص windows ce , windows mobile هست . یعنی برنامه ای که طرف میکرو اجرا میشه نه pc . یعنی ارتباطی بین pc و میکرو نخواهد بود.

برای برنامه نویسی پورت usb توسط net. کتاب زیر مفصل توضیح داده(برنامه طرف کامپیوتر):

USB Complete: The Developer’s Guide, Fourth Edition
by Jan Axelson


msd163
دوشنبه 09 فروردین 1389, 00:13 صبح
برای برنامه نویسی پورت usb توسط net. کتاب زیر مفصل توضیح داده(برنامه طرف کامپیوتر):

by Jan Axelson USB Complete: The Developer’s Guide, Fourth Edition
بابت كتاب ممنون .
دانلودش كردم.
من قبلا ويراست دوم اين كتاب خونده بودم. ويراست پنجم مثالاي كاربردي و خوبي داره. واقعا به درد بخوره.

.................................................. ..... اما . . .
يه مسئله اي هست كه هنوز حل نشده :

اين كتاب در تموم ويراستاش حرف از وسايل usb اي زده كه تو يه سري كلاسهاي استاندارد مورد حمايت api قرار دارند .
مثل : كلاس پرينتر / كلاس صوت / كلاس وسايل ذخيره سازي / و مهم تر از همه (لااقل براي من) كلاس hid . (موس و صفحه كليد و دسته‌هاي بازي تو كلاس hid هستند )

در صورتي كه اكثر ميكروهاي بازار تو اين كلاسا نيستند و شركت سازنده اون كلاساي مجزا با توابع متفاوت براي اون تعريف كردند .
.................................................. ...... حالا . . .
من دنبال ميكروهايي هستم كه كلاسش hid هست .
چراكه هم تو وقت كد نويسي صرفه جويي ميشه هم راحت تره و مهمتر از همه اين كه ميدوني بايد با چه توابعي كار كني.(توابعش و تعريفاش مشخصه)

ميكروي cy7c638xx ساخت سيپرس از جمله اين ميكروهاست. اما فكر نميكنم تو بازاري ايران پيدا بشه.
.................................................. ...... لذا . . .
از تمام دوستاني كه اطلاعاتي در مورد اين ميكروها دارند و يا راه حلي سراغ دارند خواهش مي‌كنم راهنمايي كنند .

............... با تشكر ............................

msd163
دوشنبه 09 فروردین 1389, 18:21 عصر
سلام بر همگي
.....................
چندتا ميكرو با قابليت usb و نصب firewareي كه توابع hid رو ساپورت مي‌كنه :
PIC18F2455/2550/4455/4550
..........................................
firewareش حجم زيادي داره.
از تو سايت زير ميتونيد بگيريد :
http://www.microchip.com/stellent/idcplg
.................................................. ..........
datasheetشو بخونيد
به دردتون مي‌خوره
.........................

farzadsw
سه شنبه 10 فروردین 1389, 00:57 صبح
اون مدل که گفتید از usb پشتیبانی میکنه. همه میکروهای آرم هم از usb پشتیبانی میکنن . همه میکروهایی که از usb پشتیبانی میکنن(usb کنترلر دارن) از کلاس های مختلف usb ازجمله همون hid پشتیبانی میکنن.
من اطلاع ندارم PIC18F2455 تو ایران هست یا نه(و بقیه میکرو های پیک که usb کنترلر دارن) ، اگه باشه با همون ها کار کنید . کارتون خیلی ساده تر میشه.
اگر نیست ، باید برید سراغ آرم، برای اونا هم مثال استفاده از HID هستش.

*برای اتمل avr ، فیرم ور نوشتن که از کلاس HID استفاده کنه (تو اینترنت به صورت اپن سورس هست) ولی سرعتش کم هست چون avr خودش usb controller نداره و از طریق نرم افزاری این کار رو میکنه.
*

behnam77
شنبه 29 آذر 1393, 12:15 عصر
دانلود مجموعه ای از کتاب های فارسی آموزش کار با پورت usb (http://packbook.ir/%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%DA%A9%D8%AA%D8%A7%D8%A8-%D9%87%D8%A7%DB%8C-%D8%A7%D9%84%DA%A9%D8%AA%D8%B1%D9%88%D9%86%DB%8C%D A%A9%DB%8C-%D9%BE%D9%88%D8%B1%D8%AA-usb.html)

http://packbook.ir/%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%DA%A9%D8%AA%D8%A7%D8%A8-%D9%87%D8%A7%DB%8C-%D8%A7%D9%84%DA%A9%D8%AA%D8%B1%D9%88%D9%86%DB%8C%D A%A9%DB%8C-%D9%BE%D9%88%D8%B1%D8%AA-usb.html

mr13668248
دوشنبه 25 آبان 1394, 12:19 عصر
تشکر از راهنماییتون