ايران ويج

نسخه‌ی کامل: نقشه و مدار ماوس و ...
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
در مورد واحد USB بیشتر توضیح می دم که درک بهتری از قضیه داشته باشید.

2 نوع واحد USB داریم. 1.یه USB host داریم که همین پورت های USB روی PC و لپ تاپ و ... از این نوع هستن که بسیار واحد های پیچیده ای هستن.
2. یه USB Device داریم که شامل هر وسیله ای می شه که به USB host می شه وصل کرد. مثل ماوس و کیبرد usb و flash memory و دوربین و ... .
کار USB host اینه که USB device هایی که بهشون وصل می شه رو سر شماری کنن و نوع اشون و کاربردشون رو تشخیص بدن و در نهایت یه درایور به اون USB device اختصاص بدن. حالا درایورها ی USB device ها رو یا خود شرکت سازنده روی CD در اختیار خریدار قرار می دهه که روی سیستم عامل نصب کنه یا اینکه USB Device از کلاس های خاص شناخته شده استفاده می کنه که در این صورت درایور مربوطه اش در خود سیستم عامل موجود هست و کار تخصیص درایور اتوماتیک انجام می شه.
وقتی فلش مموری یا ماوس یا کیبرد یا وبکم و یا ... به پورت USb host متصل می کنید چون از کلاس های شناخته شده ی USB استفاده می کنند ، درایورشون رو خود سیستم عامل دارهه و بهشون اختصاص می دهه و آماده به کار می شن.
ماوس از کلاس HID (human interface device) استفاده می کنه.
وقتی USB Device ( در اینجا ماوس ) رو به USB host وصل می کنید ، یکی از خطوط data به واسطه ی یه مقاومت pull up می شه و خط رو بالا می کشه ، به این طریق usb host متوجه می شه usb device ای بهش متصل شده و شروع می کنه به سر شماری برای گرفتن اطلاعات از USB device که بدونه به چه طریق باید با این USB device ارتباط برقرار کنه و اطلاعات اصلی رو رد و بدل کنه. ( در قالب پکت هایی اطلاعاتی رو به USB device می فرسته ) اینجا USB device هم اطلاعاتی رو در جواب در خواست های host به usb host می فرسته که می گه از فلان کلاس استفاده می کنم مثلا HID ، ماوس هستم ، قابلیت نوشتن انقدر بایت رو دارم ، از تغذیه ی USB استفاده می کنم ، زمان رفرشم فلام قدر ثانیه هست و ID و ... ام اینهاست و ... . که به این اطلاعات descriptor می گن که USB device دارهه خودش رو به host معرفی می کنه.
حالا USB host مطابق با چیزی که از descriptor متوجه شده یه درایور به ماوس اختصاص می ده.
این تبادل اطلاعات برای سر شماری و ... برای همه ی USB device ها و USB host ها با پروتکل استاندارد و کم سرعتی به نام روش " کنترلی " انجام می شه که همه ی وسیله های USB باید ازش پشتیبانی کنن.
از اینجا به بعد بسته به endpoint ها و اطلاعات موجود در descriptor و کلاس مورد استفاده پروتکل خاص دیگه ای برای ارتباط استفاده می شه ، مثلا روش bulky برای printer , flash memory که سرعتی ترین نوع ارتباط هست یا روش وقفه ای یا کنترلی و ... یا ترکیب از چند مورد.
کلاس HID و ماوس مسیری برای نوشتن ندارهه مگر اینکه براش جدا گونه ایجاد بشه.
معیار خوندن و نوشتن " host " هست . منظور از جمله ی بالا اینه که اطلاعات رو فقط ماوس می فرسته و host با زمان رفرش قابل تنظیمی اطلاعات رو فقط می خونه. البته این قضیه برای بعد از سر شماری صحیح هست. گر چه ممکنه به سبب مود اسلیپ USB device یا هر چیز دیگه ای ، host مجدد بخواد در خواستی رو به USB Device بفرسته به روش کنترلی یا وقفه ای . البته این وسط یه سری CRC , ACK , NACK هایی هم رد و بدل می شه که در حقیقت باز ارتباط رو 2 طرفه می کنه.
جهت خطوط دیتای USB هم ثابت نیستند بسته به کاربرد جهتشون تغییر می کنه. USB پروتکل ثابتی برای هر وسیله ای ندارهه ، با هر وسیله ای یه جور برخورد می کنه و این موضوع هست که پیچیده اش می کنه ... .

حالا که اطلاعات پایه ای رو بدست آوردید احتمالا بهتر بتونید جریانات رو تحلیل کنید.

سوال!!
منظورتون انتقال بی سیم اطلاعات از طریق نور چی هست؟! چه ماژولی مد نظرتون هست؟!!
منظورتون فرستنده گیرنده روبه روی هم هست؟ face to face ؟ چه کاربردی می تونه داشته باشه؟!
یا منظور انتقال بی سیم از طریق بلوتوث و ... هست؟
با توجه به اطلاعاتی که بالا دادم ، جهت ارسال اطلاعات در خطوط ثابت نیست! تایمینگ ها هم خیلی مهمه اگر کمی بهم بخوره ارتباط قطع می شه. چطور می خواید این رو ستل کنید؟!

نقل قول: ولی ازونجایی که از موس دو خط داده میره به کامپیوتر نمیشه دو تا فرستنده گیرنده بذارم،و میخواستم اگه بشه یکی از خطوط داده رو خودم در سمت گیرنده که به کامپیوتر وصل میشه بسازم.آیا ممکنه همچین کاری اصلا؟!!
اصلا متوجه منظورتون نشدم!!

طرز کار ماوس های وایرلس:
نوع هایی که من دیدم ماوس 2 تکه می شه ، یه تیکه که خود ماوس و سنسور چشمی اش هست و ماژول بلوتوث مثلا. قسمت دیگرش یه دانگل USB کوچیک هست که شامل واحد کنترل USB device هست و ماژول بلوتوث تعبیه شده درش که اطلاعات کلیک و حرکت و ... ها رو از خود ماوس می گیرهه و باقیه کارا با دانگل USB هست که پردازنده و واحد USB درش هست و ترنزنکشن های مورد نیاز USB رو بین خودش و USB host رد و بدل می کنه ( همون اطلاعاتی که در ماوس های با سیم رد و بدل می شه ).

بعید می دونم با یه ماوس معمولی رو بتونید بگیرید و سیمش رو ببرید و همینطوری وایرلسش کنید! چون اطلاعاتی رو که اون می فرسته مستقیم برای سر و کله زدن با USB host هست و انتقال بی سیم این کار ساده ای نیست! و احتمال زیاد نشدنی ... .

موفق باشید.
سلام و تشکر از جناب sharin بخاطر اطلاعات دقیق و کم نظیری که در مورد ارتباط یو اس بی دادن. یک سوال  دارم لطفا اگر امکانش هست پاسخ بدین. من بدلیل مشکل عجیب غریبی که برای کلیک کردن با موس های معمولی سیمی دارم میخوام برای کلیک کردن بجای کلیدهای معمولی روی موس از ماژول های تاچ پد که فکر میکنم از پرتکل i2c  پشتیبانی میکنن استفاده کنم. میخواستم بدونم شما در این مورد میتونید منو راهنمایی کنید. ؟ مشکل من پروتکل موس هست. اینکه کنترلر داخل موس چه سیگنالی برای درک یک کلیک نیاز داره و بطور کلی با i2c میشه با این کنترلر ارتباط برقرار کرد؟ ممنون از شما
صفحه‌ها: 1 2