شبیه ساز دیسک USB. ایجاد یک درایو فلش مجازی در مثال برنامه OSFMount

پروژه OLOF Lagerquist، یک برنامه عالی برای شبیه سازی دیسک ها، اما از آنجایی که همه چیز را تقلید می کند، اما نه برای ایجاد یک درایو فلش یا فلاپی دیسک. دیسک ها در حافظه مجازی ایجاد می شوند، شما می توانید آنها را به صورت فیزیکی به تصاویر فایل بارگیری کنید. پس از نصب، برنامه از پانل کنترل PC در دسترس است.

روی "OK" کلیک کنید تمام تصویر مجازی آماده است.

فرم
تصویر را می توان در صورت لزوم ذخیره و نصب کرد. کجا مفید خواهد بود؟ به عنوان مثال، برای تنبل به چنین درایو فلش مجازی، شما می توانید گواهینامه ها را برای CryptoPro پرتاب کنید)))))))) یا به عنوان یک دیسک در RAM برای ذخیره یک حافظه پنهان، فایل پیمایش و چیزهای دیگر استفاده کنید.
همچنین یک GUI جایگزین وجود دارد -

اتصال خودکار:
اکو
rEM در Autoload برای نصب اتوماتیک
c: \\ Windows \\ System32 \\ imdisk.exe -A -F "٪ برنامه های کاربردی٪ \\ flash.img" -m f: -o rem

برخی از پارامترهای خط فرمان:

imdisk.exe -e -s 300m -m b: - زوم دیسک B 300 MB

imdisk -a -t file -o ro -m y: -f c: \\ boot.img - نصب boot.img دیسک y، فقط خواندن

imdisk -a -t file -m y: -f c: \\ boot.img - نصب boot.img دیسک y، فقط خواندن / نوشتن

imdisk -d -m y: - از بین بردن درایو Y

imdisk -a -s 150m -m #: -p "/ fs: ntfs / y / q / v: imdisk - ایجاد یک دیسک 150 مگابایت، صفحه نمایش اولین رایگان، قالب بندی در NTFS، Imdisk Disk Label

imdisk -a -a -s 10٪ -m #: -p "/ fs: ntfs / y / q / v: imdisk - همچنین به عنوان قبلی، تنها اندازه 10 درصد از حافظه آزاد نشان داده شده است.

imdisk -a -s -500m -m #: -p "/ fs: ntfs / y / q / v: imdisk - همچنین به عنوان قبلی، تنها اندازه با علامت منفی نشان داده شده است، یعنی حجم مساوی حافظه آزاد منهای اندازه مشخص شده است. با 1200 مگابایت حافظه آزاد، اندازه دیسک 1200-500 \u003d 700 مگابایت خواهد بود

imdisk.exe -A -t Proxy -o IP -F 127.0.0.1:80 -M Z: - استفاده از سرور، در اینترنت یافت، در واقع بررسی نشده است.

A - اتصال Wirth. دیسک

D - Wirth را غیرفعال کنید. دیسک

E-Editing Wirth. دیسک

_________________________

ب - افست را مشخص کنید، یعنی، آغاز داده ها بر روی دیسک برای دیسک های ایجاد شده در برنامه های مختلف نشان داده شده است، در تصاویری که شما باید ویژگی های اولیه را در فایل پر کنید.

S - اندازه دیسک مجازی. اندازه تعداد بایت ها، اگر پسوند a (auto)، b (تعداد 512 بایت بلوک)، k (هزار بایت)، M (میلیون بایت)، G (میلیارد بایت)، T (میلیارد بایت)، T (تریلیون بایت)، k (kilobyte) ، m (megabyte)، g (گیگابایت) یا T (ترابایت). هزار بایت و کیلوبایت، در آن در Kilobaite 1024 بایت، و نه 1000 متفاوت است. به عنوان مثال. -S 150m یا 10٪ - 10 درصد از حافظه آزاد. پارامتر -500m - با علامت منفی، اندازه دیسک تولید شده را به عنوان حجم حافظه آزاد منهای اندازه مشخص شده تعیین می کند.

O - گزینه های تنظیم شده، در رابطه با پارامترهای مشخص شده زیر استفاده می شود

rO - فقط خواندن

rW - خواندن / ضبط

rEM - نصب به عنوان یک دیسک تغییر (فلش درایو). این مشخصه های دیسک، ذخیره سازی، و غیره را تعیین می کند.

ثابت - تنظیم به عنوان یک دیسک دائمی، ثابت (در مقابل REM)

cD - ایجاد یک CD-ROM / DVD-ROM مجازی.

fD - ایجاد یک فلاپی دیسک. به طور پیش فرض برای اندازه 160K، 180K، 320K، 360K، 640K، 720K، 820K، 1200K، 1440K، 1680K، 1722K، 2880K، 123264K یا 234752K.

hD - ایجاد یک بخش سخت.

iP - پارامتر برای اتصال به یک سرور پروکسی.

cOMP - اتصال به یک سرور حافظه از طریق یک پورت COM.

________________

متر - نامه درایو را تعریف می کند. به عنوان مثال -m b: یا -m y: یا -m #: - اولین حرف رایگان دیسک.

F - نام فایل Wirth. دیسک، به عنوان مثال -f c: \\ boot.img یا -f \\\\ سرور \\ share \\ image.bin یا -f \\ دستگاه \\ harddisk0 \\ partition1 \\ image.bin - آخرین، زمانی که نامه دیسک تعیین نشده و تعریف شده توسط شماره سخت، تعداد شماره پارتیشن (دیسک منطقی) و راه واقعی.

گاهی اوقات شرایطی وجود دارد که شما باید با آب و برق کار کنید (حسابداری، اجتماعی، که نیاز به دسترسی اجباری حامل خارجی در کامپیوتر) دارد. یا فقط باید یک نسخه جدید از سیستم عامل را نصب کنید. اما چه کاری باید انجام دهید اگر فلش درایو وجود ندارد، هیچ سی دی آزاد وجود ندارد. خروج وجود دارد! نیاز به یک برنامه خاص است که به عنوان یک درایو فلش مجازی کار خواهد کرد.

دایره نجات OSFMount برای کسانی که رسانه های قابل جابجایی ندارند

OSFMount یک برنامه کوچک است که به ایجاد یک درایو کمک خواهد کرد. این برنامه می تواند هر دو تصویر آماده (تصویر) درایو و RAM را ایجاد کند که تنها در RAM وجود دارد. درایو فلاپی دیسک، دیسک نوری مصنوعی، و مهمتر از همه، یک درایو فلش مجازی - یک برنامه می تواند تمام این تصاویر را نصب کند. ویندوز 10، ویندوز 8، ویندوز 7 ویندوز 7 مجازی USB فلش درایو بر روی هر سیستم عامل ویندوز ایجاد می شود و هر دو در یک محیط 64 بیتی و 32 بیتی. در کوه، شما حتی می توانید نامه تعریف شده را برای یک دیسک مصنوعی تعیین کنید و ویژگی های دلخواه را نصب کنید. در عین حال، اندازه ابزار حتی به 2 مگابایت نمی رسد، اندازه آن تنها 1.95 مگابایت است. از معایب، تنها این واقعیت است که برنامه از روسیه پشتیبانی نمی کند.

OSFMOUNT با استفاده از دستورالعمل

در استفاده، آسان است و برای ایجاد یک درایو فلش نیاز به زمان و تلاش زیادی ندارد. بنابراین، چگونه برای ایجاد یک درایو فلش مجازی USB با استفاده از OSFMount:


همچنین در مقاله ممکن است نیاز به برخی از گزینه هایی که پس از کلیک بر روی اقدامات درایو باز می شود. در این گزینه، موارد زیر وجود دارد:

  • جدا کردن - به عقب بر گردیم؛
  • فرمت - با استفاده از این گزینه، می توانید قالب بندی را ایجاد کنید؛
  • SavetoImageFile - برای ذخیره در فرمت دلخواه؛
  • باز - برای باز کردن؛
  • تنظیم فقط خواندن رسانه - ممنوعیت یک رکورد؛
  • Extendarize - خدمت به گسترش؛
  • تنظیم رسانه های قابل نوشتن یک رکورد است.

این بسیار آسان است برای ساخت فلش USB مجازی بر روی کامپیوتر. تصاویر برای فلاش مجازی می توانند هر کدام را انتخاب کنند. اما در مورد یک تصویر بوت، درایو باید فقط در این برنامه فرمت و باز شود.

نسخه جایگزین این نرم افزار درایو فلش مجازی است که در هنگام ایجاد ذخیره سازی اطلاعات مصنوعی نیز بسیار ساده و راحت است. تفاوت آنها این است که در Ostmount گزینه های اضافی بیشتر و علاوه بر فلش USB، دیگر درایوهای مصنوعی می تواند ساخته شود.

نتیجه

در حال حاضر روشن می شود، حتی اگر هیچ حامل خارجی در دست وجود نداشته باشد، و آنها بسیار ضروری هستند، شما می توانید آنها را به صورت مصنوعی ساخته شده آنالوگ را در چند کلیک ایجاد کنید.

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

در حال حاضر چندین بررسی از چنین آداپتورها، معروف ترین - چینی Yatour وجود دارد.

من تصمیم گرفتم به یک روش غیر استاندارد بروم، تصمیم گرفتم Tromas Flipper روسیه را امتحان کنم.
ارزیابی کلی عالی است، من از خرید خوشحالم، توصیه می کنم.

برای جزئیات من زیر گربه

مقدمه

یک تمایل ساده وجود دارد - من می خواهم به موسیقی در ماشین گوش کنم. در رادیو، دور از همیشه با چیزی مناسب است، یک دسته از سی دی های دیسک را حمل می کند، و حتی آنها را به طور مداوم ضبط می کند.
در Peugeot 407 سال 2007، GU (واحد سر) وجود دارد، در آینده به سادگی رادیو، بدون USB، بلوتوث و بدون ورودی معمولی AUX بازدید شده است.

اگر دستگاه ارزش رادیو معمولی داشته باشد، برای کنترل برخی از توابع دستگاه، ساده ترین راه برای فقط خرید یک ضبط کننده نوار رادیویی جدید، گره خورده است. ضبط کننده نوار رادیو با نام تجاری با ورودی USB می تواند در عرض صد یورو خریداری شود. کدام مبلغ باید هزینه کند تا مدیریت را از فرمان را درک کند.

شما می توانید پوند و اتصال AUX (صوتی) ورودی، اما هنوز یک منبع صدا نیاز دارد، و در مورد کنترل از فرمان باید فراموش شود.

گزینه هایی با فرستنده های FM من مدت ها کاهش یافته اند - من یک زن و شوهر از فرستنده های مختلف را امتحان کردم، کیفیت صدا خیلی زیاد نبود.

یک راه دیگر، اتصال به مگنتول به ورودی CD از APapter Changer، که اجازه می دهد گوش دادن به موسیقی از درایو فلش، کنترل آداپتور توسط ابزار منظم ضبط نوار رادیویی، از جمله فرمان. شما می توانید آداپتورهای مشابه را از تولید کنندگان مختلف با پارامترهای مختلف و کیفیت، قابلیت اطمینان، راحتی یا قیمت پیدا کنید.
معروف ترین آداپتور یاتور است. جالب ترین، شاید، صدای آمریکایی GROM، که بازی می کند، از جمله FLAC. خوب، به یک پشته از چند دستگاه دیگر - Audiolick، Xcarlink، DMC، Dension.

اول از همه، من شروع به نگاه به یاتور. در علی، تله از 50 دلار. اما بررسی در مورد شور و شوق اینترنت کمی شگفت انگیز است. در نتیجه خروجی خطی آداپتور با یک سطح ثابت، بنابراین، در بسیاری از ضبط های نوار رادیویی، سطح صدا به طور قابل توجهی کمتر از رادیو است. گاهی اوقات کار ناپایدار، قطع، حیاتی برای جلوگیری از فایل های خارجی در درایو فلش. تعداد دایرکتوری های پشتیبانی شده - چند دیسک از رادیو پشتیبانی می کند، در مورد من، 6 است.

یاتور هیچ سایت رسمی ندارد، سایت های اینترنت سایت های فروشندگان هستند. و اطلاعات باید بر روی دانه ها در مکان های مختلف جمع آوری شود، اغلب کسانی را که آن را قرار می دهند، لغو می کنند، اما تجربه آنها همیشه برای رادیو شما مناسب نیست.
اما من خوش شانس بودم، من در سراسر فروشنده بلاروس، یاتور سرگئی AKA SSD، که به تمام سوالات من پاسخ داد، از جمله ویژگی های کار با رادیو من.
به طور کلی، کار می کند، اما ممکن است مشکلات حجم و کار ناپایدار وجود داشته باشد. از سرگئی برای اولین بار در مورد Grom Audio و در مورد Triome، که او نیز به فروش می رساند، شنیده می شود.

GROM AUDIO در Android، پشتیبانی از FLAC، اما هیچ مدل برای ماشین من وجود دارد.

اما Troma Flipper 2 علاقه مند است. اول از همه، امکان تنظیم سطح خروجی (حجم). علاوه بر این، او دارای یک سازمان بسیار راحت تر از پوشه ها است و ممکن است خیلی بیشتر باشد. و او خیلی بدتر است.
با قرض گرفتن یک جدول مقایسه خوب Yator و Trioma


پالایش حیوانات خانگی:
1. فایل های خارجی با پخش دخالت نمی کنند. در حداقل، در برخی از سیستم عامل.

بنابراین، من انتخاب کردم. troma !!!
هنگام خرید یک آداپتور مشابه، باید یک مدل زیر ماشین خود را انتخاب کنید. دقیق تر، زیر ماشین ماشین خود را. مگنتول های مختلف می توانند اتصالات مختلف را تحت تعویض داشته باشند که با یکدیگر سازگار نیستند.

کجا می توانم تریوم را خریداری کنم؟

وب سایت سازنده دارای فروش محصولات Triom است. با خرید یک آداپتور در روسیه یا بلاروس، هیچ مشکلی وجود ندارد. و در اروپا، کجا به خرید من آسان تر و مجبور به سفارشی کردن و پرداخت NSO، قیمت ها دو برابر بیشتر، از 120EUR بدون هزینه حمل و نقل.

او شروع به جستجوی آشنایان کرد که می تواند یک آداپتور را از روسیه یا بلاروس به ارمغان بیاورد. پیدا شد !!! او یک دوست از روسیه پیدا کرد، که دستور داد و در ابتدای ماه فوریه، من یک آداپتور را به ارمغان آورد! اولگ، متشکرم!

و در اینجا آداپتور در خانه است!



کیت شامل آداپتور خود، کابل برای اتصال به رادیو و کابل USB است.
طول کابل اتصال به رادیو تنها 40 سانتی متر است که بلافاصله محدودیت های آداپتور را در دستگاه اعمال می کند - باید به طور مستقیم در پشت رادیو قرار گیرد، حتی قبل از اینکه جعبه دستکش به آن دسترسی پیدا کند.
آداپتور اندازه در جایی با جعبه سیگار است. یک جعبه پلاستیکی ساده با یک کابل پیشانی برای اتصال زیر دستگاه ها یا کابل AUX. با این حال، پس از اتصال آداپتور به رادیو، هیچ کس دیگر آن را نمی بیند.
علاوه بر این، کابل AUX را با Minijack در پایان به دست آورد (+ 500R)


چند عکس دیگر

اتصال برای اتصال دستگاه های اضافی، کابل AUX یا بلوتوث آداپتور


مامان در آداپتور


پدر بر روی کابل


اتصال مغناطیسی RD4


باز نکن


نصب و راه اندازی

رادیو RD4، شش گوش دو پیچ را نشان می دهد و رادیو را دریافت می کند.

پشت دو اتصال مناسب، آن را بر روی یکی از آنها کار نمی کند - تایید شده؛)
این عکس اتصال دلخواه را مشخص می کند. در آن، ارسال در حال حاضر به اتصال Chandger متصل شده است، اتصال نصب شده را بیرون بکشید و خود را روشن کنید.


ما کابل را با آداپتور وصل می کنیم، احتراق را روشن می کنیم و معجزه می کنیم - همه چیز بلافاصله به دست آورد !!! علاوه بر این، سطح صدا تقریبا مشابه از CD ساخته شده است.

اما پس از آن ما شروع به تفکر - که در آن برای نمایش کابل USB. ساده ترین راه در مورد من معلوم شد که کابل را تحت فرمان خود در یک بازیکن کوچک به راننده سمت چپ مسدود کرده است.


آداپتور خود را در یک عقب عقب به سمت چپ از رادیو پرید. مکان های کمی وجود دارد، پس از نصب رادیو در محل، آداپتور معلوم شد که در آنجا با کابل ها چسبیده شده است، بنابراین لازم نیست که آداپتور را برای تثبیت بیشتر اصلاح کنید.

همه انجمن ها نوشتن می کنند که مگنتول نیاز به فعال سازی تعویض در سرویس دارد. من همه چیز را خیلی ساده تر کردم. پس از تعویض، مگنتول خود را مشخص کرد که تعویض به آن متصل است و از طریق سوئیچ ورودی (رادیو / سی دی / تعویض) ممکن است انتخاب شود.
همانطور که معلوم شد، فعال سازی برای رادیو ضروری نیست، بلکه برای صفحه نمایش به طوری که می تواند اطلاعات را برای Chandger منعکس کند.
اما نیم سال پیش من و چینی ها، به خوبی انجام شده، یک صفحه نمایش را با تمام ویژگی های فعال ارسال می کنند. بنابراین همه چیز برای من بدون فعال شدن اضافی کار می کرد.

کار آداپتور

کیفیت صدا. قابل مقایسه با پخش کننده سی دی. Acoustics Sidery در ماشین کاملا متوسط \u200b\u200bاست، بنابراین شما قطعا تفاوت را با پخش سی دی به طور منظم در ماشین من نمی شنوید.
سرعت قدرت. جفت کمتر از ثانیه پس از تبدیل شدن به احتراق در یک فلش درایو با یک جفت ده ها دایرکتوری. این در انجمن هایی نوشته شده است که با چند صد کاتالوگ، سرعت کوچکتر است. آداپتور به یاد می آورد که او قبل از خاموش کردن بازی می کند و از همان مکان شروع به بازی می کند. این ویژگی برای گوش دادن به کتاب های صوتی ارزشمند است. آداپتور محل را از 4 درایو فلش 4 به یاد می آورد
آهنگ های سوئیچ کسری از یک ثانیه، هیچ تفاوتی در همان یا سایر کاتالوگ وجود ندارد یک مسیر وجود دارد. در طول تعویض هیچ صدایی بیرونی وجود ندارد.
جایگزین فلش درایو با یک رادیو در حال اجرا، یک درایو فلش را بیرون بکشید و یک جدید بگذارید. این در طول جفت ثانیه تعیین می شود و بلافاصله شروع به بازی می کند. در طول جایگزینی، یک تزیین کوتاه بسیار آرام ممکن است صدا کند.

آداپتور 32 کاتالوگ را درک می کند که در آن می تواند 32 زیر شاخه وجود داشته باشد، در هر کدام از آنها می تواند تا 99 فایل باشد. اما به زودی متوجه شدم که سوئیچ دیسک تنها شش دیسک اول را تغییر می دهد. اگر چه در حالت تصادفی، آداپتور تمام دایرکتوری ها را می بیند.

من یک سوال در مورد انجمن Trioms پرسیدم، پشتیبانی بسیار سریع پاسخ داد و گزینه های سازماندهی دایرکتوری ها را ارائه داد. مشکل این بود که در دکمه های RD4، حتی عملکرد دیسک + / دیسک را انجام دهید، در واقع آنها به دیسک مستقیم ارسال می شود 1-6 دستور را به آداپتور انتخاب کنید. بنابراین این دکمه ها شما فقط می توانید 6 دایرکتوری ریشه یا 6 زیر شاخه را تغییر دهید.
و مدیریت 1024 کاتالوگ در رادیو من کار نخواهد کرد. شما می توانید تنها 32 * 6 \u003d 192 یا کاتالوگ ها را مدیریت کنید؛)

توضیحات می گوید که دکمه های FF / FR عملکرد دوگانه را انجام می دهند - دایرکتوری ها / زیر شاخه ها را تغییر دهید و عقب نشینی کنید.
اما در مسیر RD4 + / Track همراه با FF / FR و برای آداپتور، این دکمه ها یک هدف سه گانه دارند:
1. مطبوعات کوتاه - پیگیری + / track-
2. فشار دادن 2-3S، فشار داده شده، زمانی که صدا از مسیر فعلی ناپدید می شود - تغییر دایرکتوری
3. فشار دادن به مدت طولانی\u003e 3SEK، صدای شتابدهی سریع - عقب نشینی وجود دارد
زمان تقریبی است، شرق به صدا

حتی قبل از خرید، فرض بر این بود که من یک Megaflushka بزرگ را با صدها دایرکتوری نوشتم. اما اکنون می بینم که راحت تر از چندین درایو فلش با انتخاب های مختلف استفاده می شود.
من الان آن را دارم:
1. مرحله روسیه 80-90s
2. POP خارجی 80-90-E
3. ابزار

جمع. برای پول نسبتا کوچک، من یک آداپتور بدون صدا با کیفیت صدای خوب و کنترل بصری ساده دریافت کردم. خرید بسیار خوشحال است، Troma - به خوبی انجام شده است!

لینک های اضافی

مینی چاوو

برخی از سوالات در خارج از این بررسی باقی مانده بود، تصمیم گرفتم آنها را به یک مینپات جداگانه بردم. در اینجا من سوالاتی را که در نظرات بوجود می آیم اضافه خواهم کرد.
  • چه چیزی باید برای نام ها (نام فایل ها، برچسب ها یا حداقل هر چیزی) در صفحه نمایش داده شود؟
  • آداپتورهای Troma قطعا "دیدن" و برچسب ها، و نام فایل ها و نام پوشه ها را می بینند. جایی که ممکن است، آنها رشته های متن را بر روی صفحه نمایش منظم رادیو نمایش می دهند: BMW و تمام اتومبیل ها با تایر نوری بیشتر. شاید خروجی متن به زودی برای برخی از دستگاه های تویوتا / لکسوس اجرا شود.
  • سی دی تغییر بدون مشکلات مقابله با این کار.
  • من می ترسم که شما اشتباه می کنید: chandgers خارجی ناشناخته است، علاوه بر مدل های ذکر شده در بالا، که با این کار مقابله می کند. چانهر جاسازی شده در واحد سر یکی دیگر از موضوعات است، خروجی متن به طور مستقیم به کنترل کننده صفحه نمایش رخ می دهد، یک مکانیسم کاملا متفاوت است.
  • آیا امکان اتصال دستگاه های اضافی به آداپتور Triom وجود دارد؟
  • آداپتور می تواند متصل شود یا کابل آداپتور AUX-mini-mini 3.5 DAD
من قصد دارم خرید کنم +23. اضافه کردن به علاقه مندی ها من این را دوست داشتم +21 +46

توسعه دستگاه های مختلف بر اساس میکروکنترلرها یک درس ارزشمند این مرد کامپیوتر است. بدون شک، یک ترفند مفید از هر ابزار یک رابط USB برای اتصال به کامپیوتر خواهد بود. اما چه کاری باید انجام دهید اگر تراشه AVR پشتیبانی سخت افزاری USB را ارائه ندهید؟

V-USB: مسائل اندازه

هنگام توسعه گجت خود، اغلب با اتصال به کامپیوتر مواجه می شود. باید بگویم که پورت های LPT و COM در حال حاضر بر روی مادربردهای رایانه ای عجیب و غریب هستند، نه به ذکر لپ تاپ هایی که مدت ها پیش این رابط ها را ناپدید کرده اند. بنابراین، کامپیوترهای مدرن تقریبا هیچ جایگزینی برای رابط USB ندارند.

اگر منابع تراشه برای صد درصد استفاده شود، بهتر است بلافاصله به سمت دستگاه هایی با پشتیبانی سخت افزاری برای تایر متوالی جهانی نگاه کنید (چنین میکروکنترلرهای موجود در خط هر سازنده وجود دارد). در موارد دیگر، شما می توانید از نرم افزار USB استفاده کنید.

برای میکروکنترلرهای Atmel، یک پروژه فوق العاده V-USB وجود دارد که ارائه یک نرم افزار یک دستگاه USB 1.1 کم سرعت را ارائه می دهد. کد V-USB بر روی هر دستگاه AVR عمل می کند که دارای حداقل حافظه فلش 2 کیلو بایت و 128 بایت از RAM با فرکانس 12 است. 12.8؛ پانزده سال شانزده 16.8 یا 20 مگاهرتز.

استفاده از محصول ممکن است هر دو در داخل مجوز منبع باز GPL و بر اساس تجاری. به منظور توسعه دستگاه های USB خود، معمولا نیاز به خرید چیزی مانند مجوز دارید. اما بچه ها از V-USB از این موضوع مراقبت می کنند، با خرید یک زن و شوهر از شناسه فروشنده - شناسه محصول و اجازه دادن به آنها برای استفاده از هر کسی که می خواهد.

اتصال سخت افزاری برای اتصال اتوبوس USB به میکروکنترلر بسیار ساده است. اگر دستگاه بیش از حد مصرف کند، می توان آن را مستقیما از تایر برقرار کرد (در نظر گرفته می شود که خط برق USB کامپیوتر قادر به پرداخت 500 مگاوات است). از آنجا که خطوط اطلاع رسانی (D + و D-) از سطح سیگنال 3.6 V استفاده می کنند، علاوه بر مقاومت های محدود کننده فعلی، تثبیت ها برای مطابقت با منطق تراشه 5 ولت مورد نیاز است. برای تعیین نوع اتصال، باید ولتاژ منبع را از طریق مقاومت 1.5 کیلو وات به D- خط بکشید.

جایگزین گزینه USB جفت شدن - ولتاژ منبع کنترل را با استفاده از تراشه تثبیت کننده مناسب یا فقط یک جفت دیودها کاهش دهید. آخرین طرح را می توان در سایت پروژه V-USB یافت.

برنامه نویس USBTINY

برای میکروکنترلرهای AVR، برنامه نویسان مختلفی وجود دارد. Usbetiny در اینجا ذکر شده است، به ویژه، به دلیل آن شامل یک نرم افزار USB است که مشابه با V-USB است. طرح این برنامه نویس ساده است: نسخه 2 شامل دو تراشه است، و اولین نسخه تنها یک (Attiny2313 خود) است. با توجه به شرح مفصلی در سایت و اجزای ساده، دستگاه حتی یک مبتدی آسان است. USBTINY سازگار با برنامه محبوب Avrdude است که برای برنامه ریزی میکروکنترلرهای AVR استفاده می شود.

تنها مشکل این است که سیستم عامل را در تراشه برنامه نویسان پر کنید - برای این شما نیاز به برنامه نویس دارید. اگر یک کامپیوتر با پورت LPT وجود داشته باشد، می توانید یکی از گزینه های FBPRG AKA را "پنج سیم کشی"، که آهن است، ایجاد کنید

پخت و پز سورتز

ابزارهای نرم افزاری مورد نیاز برای پیاده سازی ساده ترین سیستم عامل USB Gadget، فوق العاده Ascetic: Compiler GCC-AVR، کتابخانه AVR-Libc، برنامه نویس AvRDede و Binutils برای AVR تنظیم شده است. در دبیان / اوبونتو، همه چیز شما نیاز به یک فرمان است:

$ sudo apt-get نصب Avrdude Binutils-AVR GCC-AVR AVR-Libc

در فضاهای بی حد و حصر اینترنت، آسان است برای پیدا کردن یک راهنمای بسیار دقیق در V-USB و Libusb (به زبان انگلیسی) آسان است. بر اساس این کتابچه راهنمای کاربر، برای اضافه کردن پشتیبانی USB به پروژه شما باید یک پوشه USBDRV از آرشیو با آخرین نسخه V-USB داشته باشید. ریشه این پوشه دارای یک پیکربندی USBConfig-Protype.h است. شما باید یک کپی از این فایل را با تماس با آن usbconfig.h. بعد - صحیح usbconfig.h، مشخص کردن پورت (D)، خطوط که برای I / O استفاده می شود، به طور مستقیم شماره D + (2) و D- (3) خط، و فرکانس (12 مگاهرتز) در کدام تراشه کار می کند (attiny2313):

#define USB_CFG_IOPORTNAME D #DEFINE USB_CFG_DMINUS_BIT 3 #DEFINE USB_CFG_DPLUS_BIT 2 #define USB_CFG_CLOCK_KHZ 12000

برای استفاده از مجوز V-USB برای دستگاه، شناسه های عددی تولید کننده و دستگاه نیازی به تغییر ندارند. اما نام های شخصیت را می توان به سلیقه خود انتخاب کرد (به شما این امکان را می دهد که دستگاه های متعدد را بر اساس V-USB متصل به همان کامپیوتر متمایز کنید):

#define usb_cfg_vendor_id 0xc0، 0x16 #define usb_cfg_device_id 0xDC، 0x05 #define usb_cfg_vendor_name "n"، "e"، "t"، "t"، "4"، "g"، "e"، "e"، "k" ، "S"، "."، "C"، "O"، "M" #define usb_cfg_vendor_name_len 14 #define usb_cfg_device_name "u"، "s"، "b"، "e"، "x"، "a" ، "m"، "p"، "l"، "e" #define usb_cfg_device_name_len 10

انواع ابزارهای مختلف

آیا ایده ای از دستگاه دارید؟ عجله نکنید به لحیم کاری و رفتن، و نگاه کنید، شاید کسی قبلا این کار را انجام داده است. اگر امکان استفاده از طرح های آماده شده و منابع وجود نداشته باشد، حداقل شما مجبور نیستید همه چیز را از ابتدا شروع کنید.

به عنوان مثال، پروژه V-USB به لطف سیاست مجاز، یک پایگاه مناسب برای راه حل های آماده شده (از جمله آزادانه توزیع شده) انباشته شده است. در اینجا شما می توانید پیاده سازی های مختلف صفحه کلید، آداپتورهای USB برای جوی استیک ها، Gamepads (از جمله نادر، مانند SNES / NES، Nintendo 64، Joystick طیف ZX، سونی پلی استیشن 1/2) و مانند آن را پیدا کنید. آداپتورهای DMX، COM و UART، I2C، پورت های سروو، رابط های بی سیم DCF77، IR - همه چیز که دستگاه های جدید بیشتری را به کامپیوتر متصل می کند. Loggers، سیستم عامل های سنسورها و سنسورها، آداپتورهای صفحه نمایش LCD، برنامه نویسان و لودرها نیز ممکن است در اقتصاد مفید باشند.

برنامه تراشه ابتدایی است!

هنگامی که تعامل با اتوبوس USB، کامپیوتر دستگاه اصلی است که به صورت دوره ای پیام های پیام رسانی را ارسال می کند. به ترتیب کنترل کننده، تحت تأکید قرار می گیرد و باید به درخواست ها پاسخ دهد. فرمت پیام کنترل توسط ساختار USBREQUREQUT_T از فایل USBDRV.H تعیین می شود:

Typedef Struct USBRequest (Uchar Brequest: Uchar Brequest؛ usbword_t wvalue؛ usbword_t windex؛ usbword_t wlength؛) usbrequest_t؛

یک فایل main.c را در یک سطح با یک پوشه USBDRV ایجاد کنید و فایل های هدر، تعاریف و متغیرها را توضیح دهید:

#عبارتند از. #عبارتند از. #عبارتند از. #include "usbdrv.h" #define f_cpu 12000000L // فرکانس mk #include #define data_out 1 // ارسال #define data_in 2 // دریافت دستور // static uchar rasporbuf \u003d "hello world!" buffer؛ static uchar atalength \u003d 0، datareceived \u003d 0؛

در main.c، عملکرد USBFuctionSetion را لغو می کند، که به طور خودکار پس از دریافت درخواست جدید نامیده می شود:

داده های Urb_Public Urchar (USBREQURREQURREQURET_T * RQ \u003d (VOID *) داده ها؛ سوئیچ (RQ-\u003e BREQUEST) (CASE DATA_OUT: / / پردازش usbmsgptr \u003d ramentbuf data command اندازه بافر: // پردازش داده پردازش \u003d (uChar) پردازش داده ها rq-\u003e wlength.word؛ // دریافت طول dataReceived \u003d 0؛ // USBFFUNTINEWRITE تماس ها زیادی وجود خواهد داشت اگر (Datal Gength\u003e Sizeof (Replybuf)) // بر روی overflow datalength \u003d sizeof (replybuf) را بررسی کنید بازگشت USB_NO_MSG؛ // بازگشت 255) بازگشت 0؛)

همانطور که از لیست دیده می شود، ساده ترین راه برای ارسال داده ها به کامپیوتر، تعیین مقدار اشاره گر USBMSGPTR به بافر RAM (REPYBUF)، جایی که داده ها قرار دارد و سپس آن را به طول برگرداند. اندازه بافر نباید بیش از 254 بایت باشد. برای attiny2313 با 128 بایت از RAM، این کافی است. برای دستگاه های کاربردی بیشتر، راه دوم وجود دارد - عملکرد USBFUnectionRead را لغو کنید.

برای دریافت اطلاعات، ابتدا، شما باید طول پیام را از فیلد پرس و جو WLENGTH در فیلد WLENGTH طول آن حذف کنید و آن را در متغیر جهانی DataRength ذخیره کنید. ثانیا، در main.c، لازم است که تابع USBFFunctionWrite طراحی شده برای پردازش داده های به دست آمده و به صورت خودکار (و به وضوح چندین بار) را لغو کنیم، اگر USBFUNTUCTIONSETEP مقدار USB_NO_MSG را بازبینی کند (255):

usb_public uchar * داده ها، UChar Len (Uchari I؛ // بخش داده به دست آمده به مبلغ (I \u003d 0؛ داده شده است< dataLength && i < len; i++, dataReceived++) replyBuf = data[i]; return (dataReceived == dataLength); }

در واقع، عملکرد USBFFunctionWrite در این واقعیت است که با استفاده از داده های به دست آمده، بافر RELOPYBUF را پر می کند.

به هر حال، برای کار این روش، شما باید تغییرات را به usbconfig.h تغییر دهید:

#define usb_cfg_implement_fn_write 1.

خوب، آخرین عملکرد سیستم عامل - اصلی:

int main () (usbinit ()؛ // USB USB USBDEVICENCONECT ()؛ // دستگاه SEI () را وصل کنید؛ // اجازه وقفه ها // در یک چرخه بی نهایت برای صبر کردن پیام های کنترل در حالی که (1) USBPOLL ()؛ بازگشت 0؛)

ما از USART / UART استفاده می کنیم

یک جایگزین خوب برای نرم افزار / سخت افزاری USB با استفاده از یک رابط کاربری محبوب USART / UART با یک مبدل شخص ثالث از این پروتکل در USB است که می تواند به عنوان مثال بر اساس تراشه FT232RL انجام شود.

Libusb: و نه لباس، و نه برهنه

شما می پرسید: آیا شما باید یک راننده برای یک سیستم عامل کامپیوتر برای اتصال یک دستگاه USB بنویسید؟ اگر از libusb استفاده می کنید، می توانید بدون اجرای یک ماژول هسته کامل کامل انجام دهید. LibusB یک کتابخانه منبع باز است که به شما اجازه می دهد تا به سرعت برنامه را برنامه ریزی کنید، در ابتدا، یک دستگاه را در اتوبوس جستجو کنید، و دوم - مبادله داده ها با آن.

تحت کتابخانه لینوکس و فایل های هدر ضروری را می توان از کد منبع بدست آورد. و بهتر است از مخزن استاندارد توزیع خود استفاده کنید. برای مثال، برای دبیان / اوبونتو، بنابراین:

$ sudo apt-get libusb-dev

همچنین یک پورت Libusb تحت ویندوز وجود دارد - Libusb-Win32. بر خلاف نام پروژه، سیستم عامل 64 بیتی از مایکروسافت نیز پشتیبانی می شود (از نسخه 1.2.0.0 شروع می شود).

اما Libusb موضوع مکالمه جداگانه است. من فکر می کنم با برنامه نویسی برای کامپیوتر شما می دانید و شما می توانید آن را کشف کنید. بنابراین، من کوتاه خواهم بود. یک فایل USBTest.c ایجاد کنید و شروع به پر کردن آن با محتوا کنید. اول، فایل های هدر و تعاریف ضروری:

#عبارتند از. [...] // برای کامپیوتر، معنای دستورات معکوس شده است، // اما نمادها باقی می ماند #define data_out 1 #define data_in 2

عملکرد USBOPEMDEVICE برای راه اندازی دستگاه:

usb_init ()؛ // ابتدا USB usb_find_busses ()؛ // پیدا کردن usb_find_devices () لاستیک؛ // پیدا کردن دستگاه ها / // رده همه لاستیک ها برای (bus \u003d usb_get_busses ()؛ اتوبوس؛ اتوبوس؛ اتوبوس \u003d bus-\u003e next) (/ / بیش از همه دستگاه های موجود در (dev \u003d bus-\u003e devics؛ dev؛ dev \u003d dev-\u003e بعد) (// / / اگر شناسه های فروشنده و محصولات مطابقت نداشته باشند ... اگر (dev-\u003e توصیفگر.idvendor! \u003d فروشنده || dev-\u003e توصیفگر. محصولات محصول ادامه دهید! // ... این تکرار را امتحان کنید // سعی کنید یک توصیفگر دستگاه را دریافت کنید ((house \u003d usb_open (dev)) (fprintf (stderr، "٪ s \\ n"، USB_STROROR ())؛ ادامه؛) بازگشت دسته؛ // بازگشت یک توصیفگر) / / دستگاه بازگشت به بازگشت null؛

همانطور که دیده می شود، پارامترهای USBopeendevice، شناسه های عددی تولید کننده و دستگاه ها هستند. اگر دستگاه در اتوبوس حضور داشته باشد، توصیفگر آن بازگشته است. اگر دستگاه های V-USB تا حدودی - شما باید اسکن نام نمادین فروشنده و محصول را اضافه کنید.

و Usbetest Console Console تابع اصلی:

Int Main (int argc، char ** argv) (// usb_dev_handle * handle \u003d null؛ int nbytes \u003d 0؛ char buffer؛ // ما به دنبال یک دستگاه دسته \u003d USBopendevice (0x16c0، 0x05dc)؛ اگر (دسته \u003d \u003d null) (fprintf (stderr "، دستگاه USB را نمی توان پیدا کرد! \\ n")؛ خروج (1)؛) // argument - دریافت اطلاعات از اگر "strcmp (argv، out") \u003d\u003d 0) (nbytes \u003d USB_CONTROL_MSG (دستگیره، USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN، DATA_OUT، 0، 0، Char *) بافر، اندازه (بافر)، 5000)؛ printf ("٪ d٪ bytes:٪ s \\ n"، nbytes، buffer)؛ // استدلال در - ارسال یک رشته (آرگومان بعدی)) else (strcmp (argv، argc\u003e 2) (nbytes \u003d usb_control_msg (دسته، USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT، DATA_IN، 0، 0، ARGV ، Strlen (argv) +1، 5000)؛) اگر (nbytes< 0) fprintf(stderr, "%s\n", usb_strerror()); usb_close(handle); // Закрыть дескриптор return 0; }

در اینجا توپ تابع USB_CONTROL_MSG را قوانین می کند که در فایل USB شامل می شود. این یک دسته از پارامترها دارد و در واقع این پیام های کنترل را ایجاد می کند، پردازش آن در سیستم عامل میکروکنترلر اجرا می شود.

Proteus استراحت می کند

شبیه ساز محبوب شبانه از طرح های الکتریکی Proteus ISIS در هنگام توسعه دستگاه های پیاده سازی نرم افزار USB بی فایده است. شبیه ساز USB آن تنها تراشه ها را با پشتیبانی سخت افزاری برای تایر سریال جهانی (به عنوان مثال AT90USB646 یا AT90USB1286) پشتیبانی می کند.

ما جمع آوری، ما فلش، تست

در زیر یک makefile کوچک، اما بسیار مفید است که فرمان اصلی از Main.C و USBTest.c آسان است برای دریافت سیستم عامل برای تراشه - اصلی. Hex و Binar از Usbetest Utility:

cc \u003d avr-gcc objcopy \u003d avr-objcopy cflags \u003d -wall-os -iusbdrv -mmcu \u003d attiny2313 objflags \u003d -j .text -j .o main.o cmdline \u003d USBTEST # هدف: جمع آوری همه: main.hex $ (cmdline) # مونتاژ نرم افزار کامپیوتر $ (cmdline): USBTEST.c GCC -I ./Libusb/include -l ./libusb/ LIB / GCC -O -WALL USBTEST.C -O USBTEST -LUSB # پروژه پاک از کد پاک باینری: $ (RM) * .o * .HEX * .elf USBDRV / *. O # دریافت فایل سیستم عامل از elf فایل٪. هگز:٪ .elf $ (objcopy) $ (objflags) $< [ایمیل محافظت شده] # مونتاژ فایل ELF main.elf: $ (اشیاء) $ (cc) $ (cflags) $ (اشیاء) -o [ایمیل محافظت شده] # مونتاژ V-USB $ کتابخانه (اشیاء): USBDRV / USBCONFIG.H # C به Object Code٪ .O:٪ .c $ (CC) $ (CFLAGS) -c $< -o [ایمیل محافظت شده] # ASM در کد Object٪ .O:٪ .s $ (CC) $ (CFLAGS) -x Assembler-with-CPP -C $< -o [ایمیل محافظت شده]

برای ریختن سیستم عامل به یک میکروکنترلر با استفاده از برنامه نویس USBTINY، نوع:

$ sudo avrdude -p t2313 -c usbetiny -e-u فلش: w: main.hex: i -u lfuse: w: 0xef: m

در Avrdude، فیوز ها بسیار به وضوح تعریف نشده اند، اما آنها را می توان به راحتی در یکی از ماشین حساب های آنلاین محاسبه کرد.


ما دستگاه را به کامپیوتر وصل می کنیم و بررسی می کنیم که چگونه کار می کند (USBTEST با پارامتر OUT رشته را می خواند، در - رشته مشخص شده را به بافر تراشه می نویسد):

$ sudo/usbetest در all_ok $ sudo ./usbtest خارج

قاشق قارچ

نرم افزار USB Panacea نیست. پیاده سازی های نرم افزاری معمولا تعدادی ساده ای دارند، مانند عدم بررسی چکمه و تقارن کانال، که بر ایمنی سر و صدا تاثیر می گذارد. همچنین، معمولا کتابخانه های نرم افزاری از حالت های USB کم سرعت استفاده می کنند. بله، و کد کتابخانه USB "می خورد" و بدون حافظه کوچک تراشه.

پازل ...

در سطح منطق، پروتکل USB، در واقع، اطلاعات بسته اطلاعات چند سطح است. این مشکل نیست که مطمئن شوید (و در عین حال در مورد USB بسیار جالب توجه است)، با استفاده از آنالایزر پروتکل های شبکه Wireshark. قبلا درایور مانیتور USB را دانلود کرده اید:

$ sudo modprobe USBMON

در حال حاضر در لیست رابط Wireshark، شما می توانید اتوبوس USB را انتخاب کنید. مشاهده شماره دستگاه تایر می تواند، به عنوان مثال، در سیاهههای مربوط.

نتیجه

من امیدوارم پس از آموختن اطلاعات بین رایانه و میکروکنترلر AVR، اشتیاق شما برای الکترونیک با یک نیروی جدید بیدار می شود، بسیاری از دستگاه های اصلی و مفید را پرورش می دهد. این تنها برای موفقیت در این زمینه پیچیده، اما جالب است.