سرخط خبرها
خانه » قطعات الكترونيك » معرفی ای سی » درایور » کنترل کننده و میزبان usb با استفاده از VNC1L

کنترل کننده و میزبان usb با استفاده از VNC1L

امروزه کار با پورت ها از جمله usb,lpt,com به خصوصی کار با پورت usb  از طریق میکروکنترلر ها یکی از اهداف اصلی سازنده  مدارو برنامه نویس ها میباشد قبلا مداری در همین سایت ارائه شد ( مبدل usb به سریال با قابلیت اتصال به میکرو کنترلر- ft232 )که با آن  به صورت سریال میتوانستید از طریق پورت usb  با کامپیوتر ارتباط برقرار کنید اما نمیتوانستید اطلاعات دیگر وسایل  مثل فلش مموری ها ، موبایل ها و…که با پورتusb  در ارتباط بودن و از ان طریق تبادل اطلاعات میکردن، را بخوانید

دراین بخش به معرفی آیسی VNC1L-1A  میپردازیم ، ازطریق این آی سی میتوانید براحتی با دیگر دستگاه های که پورت  USB  دارند ارتباط برقرار کنید وبه عنوان یک میزبان اطلاعات ان را بخوانید و یا برروی ان اطلاعات بریزید هم چنین که یتوانید اطلاعات که ازطریق FAT  ذخیره سازی شده اند را براحتی بخوانید

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

نحوه دریافت اطلاعات از آیسی میزبان به صورت های سریال UART  و SPI  و fifo میباشد

مشخصات این آی سی به شرح زیر میباشد

Single chip embedded USB host / slave controller

I.C. device

• Entire USB protocol handled on the chip

• ۸ / ۳۲ bit V-MCU Core

• Twin DMA controllers for hardware acceleration

• Integrated 12 MHz to 48 MHz clock multiplier

• Integrated power-on-reset circuit with optional

RESET# input pin

• ۶۴k byte embedded Flash ROM program memory

• ۴k byte internal data SRAM

• Standard USB fi rmware library supplied by FTDI

• Program or update fi rmware via USB Flash disk or

UART interface

• Firmware easily upgradable in the fi eld

• PROG# fi rmware programming control pin

• Two independent USB 2.0 Low speed / Full speed

USB Host / Slave ports with integrated pull-up and

pull-down resistors

• Four fully confi gurable data I/O and control Buses

• UART interface mode for data I/O, fi rmware

programming, and command monitor interface

• FIFO interface mode with 8 bit bi-directional data

bus and simple 4 wire handshake for data I/O and

command monitor interface

• SPI slave interface mode for data I/O and

command monitor interface

• Up to 28 GPIO interface pins for data I/O and

command monitor interface

• Interface to MCU / PLD / FPGA via UART, FIFO, or

SPI interface

• Legacy PS/2 keyboard and mouse interfaces

• Multi-processor confi guration capable

• Support for USB suspend and resume

• Support for bus powered, self powered, and highpower

bus powered USB device confi gurations

• ۳٫۳V operation with 5V safe inputs

• Low operating and USB suspend current (25mA

running / 2mA stnadby)

• Fully compliant with USB 2.0 specifi cation – USB

full speed (12 Mbps) and low speed (1.5 Mbps)

USB host and slave device compatible

• ۰°C to 70°C operating temperature range

• Full driver support for target / slave applications

• Available in compact Pb-free and green 48 Pin

LQFP package (RoHS compliant)

• Full range of reference designs and evaluation kits

Availabl

شرح مختصری از ویژگی ها ذکر شده در بالا بدین صورت میباشد

  • کنترلر USB HOST
  • تبادل اطلاعات با USB FLASH و دیگر تجهیزات دارای پورت USB
  • تبادل داده با و کنترل بوسیله MCU/FPGA/PLD
  • دارای firmware جهت کاربردهای گوناگون
  • دارای قابلیت کنترل دو پورت USB مجزا
  • قابلیت اتصال به میکرو کنترلر های ۸ و ۳۲ بیتی
  • دارای ۲ مرکز DMA جهت ثبات کاری هرچه بیشتر ماژول
  • فرکانس کاری بین ۱۲ تا ۴۸ مگاهرتز
  • قابلیت ریست خودکار در هنگام روشن شدن به همراه پایه reset
  • دارای ۶۴ کیلوبایت حافظه برنامه flash rom  و۴ کیلو بایت sram  داخلی
  • دارای کتابخانه استاندارد برای سخت افزار usb که توسط شرکت سازنده ftdi  پشتیبانی میشود
  • قابلیت بروز رسانی برنامه سخت افزاری usb  از طریق USB Flash disk یا ارتباط سریال UART
  • بروز رسانی راحت برنامه سخت افزاری usb
  • پشتیبانی از ۲ پورت usb 2.0  باقابلیت سرعت پایین ، سرعت بالا،میزبانی  Slave ports به کمک پول اپ و پول دون کردن مقاومت ها
  • دارای ۴ حالت تنظیم برای تبادل باس اطلاعات ورودی و خروجی
  • قابلیت بروز رسانی برنامه سخت افزار، حالت اطلاعات ورودی و خروجی و دستورات برای نمایش اطلاعات ار طریق سریال uart
  • قابلیت اتصال از طریق پروتکل spi  برای اطلاعات ورودی و خروجی و command monitor interface
  • قابلیت افزایش تا ۲۸ پایه برای تبادل اطلاعات command monitor
  • قابلیت اتصال به MCU / PLD / FPGA از طریق پروتکل های UART, FIFO, SPI
  • قابلیت اتصال ازطریق پروتکل موس و کیبورد و اتصال موس و کیبورد
  • قابلیت تنظیم برای چند پردازش گر
  • پشتیانی در ارسال اطلاعات به صورت تکه به تکه و معلق شده
  • پشتیبانی از bus powered, self powered,  highpower bus دستگاه های متصل
  • قابلیت کار در ولتاژ ۳٫۳ ولت به همراه حفاظت در برابرولتاژ ۵ ولت ورودی
  • سازگاری کامل با usb 2.0  و پشتیبانی از سرعت بالا تا ۱۲ Mbps و سرعت پایین ۱٫۵ Mbps
  • رنج دما بین ۰ تا ۷۰ درجه سانتی گراد

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

بلوک دیاگرام:

دراین بخش به توضیح بخش های مختلف آی سی طبق بلوک دیاگرام بالا خواهیم پرداخت:

  • USB Host / Slave Transceivers 1 and 2:

این بخش مربوط به ارسال و دریافت اطلاعات از طریق USB  میباشد که به صورت  USB HOST  و  SLAVE  عمل خواهد کرد هم چنین که از USB 1.1  و USB 2.0  را پشتیبانی میکند و با استفاده از مقاومت ها و نحوه قرار گیری به صورت پول آپ و پول دون میتوان آنرا در دو وضعیت میزبان HOST USB  و  SLAVE  قرار داد

  • USB Host / Slave Serial Interface Engine ( SIE ):

وظیفه این بخش تبدیل اطلاعات USB از سری به موازی و بالعکس میباشد و بررسی خطا های بوجود امده هم چنین

CRC generation / checking, USB frame generation

  • ۱۲ MHz Oscillator:

این بخش شامل اسیلاتوری میباشد که فرکانس ۱۲ مگاهرتز را بر اساس کریستال ۱۲ مگاهرتز متصل به برد خواهد ساخت هم چنین که فرکانس مورد نیاز جهت بخش Clock Multiplier PLL را تامین میکند

  • Clock Multiplier PLL

این بخش فرکانس اولیه خود را از اسیلاتور گرفته و با توجه به فرکانس ورودی ۱۲ مگاهرتز فرکانس های ۲۴ و ۴۸ مگاهرتز را برای بخش های USB SIE وبخش MCU CORE  و سیستم تایمر مدار و فرکانس سریال را تولید میکند

  • Program and Test Logic

این بخش وظیفه پروگرم کردن حافظه E-Flash داخلی را دارد، وقتی که پایه PROG# را به زمین وصل کنید و مدار را ریست کنید بعد از روشن شدن مدار حافظه E-Flash به کمک بوت استارت rom  جهت پروگرم کردن از طریق uart  اماده میشود

  • DMA Controller 1 and 2

وجود ۲ کانال dma  باعث میشود که حتی در مواقعی که بیشترین بار پردازشی  برروی cpu  باشد باز هم بخش های مختلف مدار ازجمله spiوuart  و پایه های ورودی و خروجی و ارتباط بین sram  داخلی و میکرو متصل به مدار بدون مشکل ، پایدار بماند و وظیفه خود را انجام  بدهند

  • Data SRAM

این بخش که شامل حافظه ۴ کیلو بایتی ۸ بیتی میباشد وظیفه آماده سازی و ارائه اطلاعات به پورت خروجی را دارد هم چنین که این بخش توسط dma  نیز کنترل میشوذ

  • NPU ( Numeric CoProcessor )

بیشترین میکرو های متصل به این آی سی ۸ بیتی هستند اما در مواقعی نیز ممکن است که میکرو ۳۲ بیتی نیز به این آی سی وصل شود و وظیفه این بخش تنظیم سرعت و نوع اطلاهات ارسالی به میکرو میباشد

  • UART Prescaler

وظیفه اصلی این بخش آماده سازی کلاک مورد نیاز برای uart  میباشد که براحتی میتوان توسط این بخش فرکانس لازم را برای نرخ تبادل اطلاعات بین ۳۰۰ تا ۱مگا را تامین کرد

  • SYSTEM TIMER

این بخش وظیفه ساخت اینتراپت های لازم در ارتباط با بخش اصلی ومیکرو را بر عهده دارد و زمان ۱ms  را میسازد

  • VINCULUM MCU CORE

دراصل از این بخش به عنوان قلب این آی سی یاد میشود ، بخش VMCU است که براساس تکنولوژی ftdi  و به صورت ۸ بیتی ساخته شده است ،در این قسمت دیتا ها و آدرس ها از هم جدا میشوند و از ۶۴ کیلوبایت کد های پروگرم و۶۴ کیلو بایت دیتا و ۲۵۶ بایت فضا برای رجیسترهای ورودی وخروجی نیز برخوردار میباشد

  • E-FLASH Program ROM

ای سی nvc1l  دارای ۶۴ کیلو بایت میباشد و نیاز به ولتاژ خاصی جهت پروگرم کردن ندارد و تمام مراحل مورد نیاز برای پروگرم کردن توسط یک چیپ داخلی تحت نظر VMCU  با استفاده از پروتکل UART  صورت میگیرد و برای پروگرم کردن باید پایه PROG# زمین شود ودستگاه و چیپ را ریستارت کنید یا این که با استفاده از فلش که firmware لازم برروی باشد چیپ را پروگرم کنید

  • BOOTSTRAP LOADER ROM

این بخش کوچکی است که شامل یک ROM  با فضا ۵۱۲ x 8 bits میباشد و در مواقع پروگرم کردن استفاده میشود

  • UART and FIFO Logic

این بخش شامل تنظیمات لازم برای ارتباط سریال و موازی با VNC1L  میباشد که شامل پروتکل UART  و ارتباط FIFO  میباشد

  • GPIO Blocks

این قسمت شامل بخش اصلی برای پین های ورودی و خروجی مدار میباشد

جهت آشنایی بیشتر با نحوه عملکرد آی سی vnc1l  میتوانید دیتا شیت آن را از طریق لینک زیر دانلود کنید

دانلود “دیتا شیت میزبان یواس بی vnc1l” vnc1l.zip – Downloaded 1917 times – 183 KB

در آخر عکس یک نمونه روبات که بوسیله موبایل و با استفاده ازا این ای سی کنترل میشود را مشاهده میکنید

۱۱ دیدگاه

  1. سلام
    اگه آمادش رو بخوام به همراه درایور و برنامه پروگرام ودیگر امکاناتش باید کجا برم.

  2. سلام به همگی
    برای پروگرام کردن VNC باید از نرم افزار FT_PROG استفاده کنی که رایگان می تونی از سایت http://www.FTDIchip.com دریافت کنی.
    اگه یه کوچولو تو سایتش بچرخی همه چیز در مورد این تراشه هست.

  3. با سلام وتشکر از توضیحات جامع لطفا در مورد پروگرم کردن قطعه بیشتر توضیح بدید؟ میشه با hiper terminalپروگرمش کرد؟

  4. ldaiمیشه یه توضیحاتی در مورد برنامه نویسیش بدید؟

  5. با تشکر از مطالب مفید شما
    من میخوام با ft232 ارتباط بین میکرو ویندوز برقرار کنم – یه رم ریدر با میکرو – ولی درایور لازم داره اگه میتونید کمک کنید. مرسی

  6. سلام-لطفا راهنمایی بفرمائئد جهت خریداین آی سی در داخل ایران

  7. سلام . ممنون
    “PIPO = PARALLEL input , PARALLEL output” هست ، لطفا مطلب رو اصلاح کنید.
    با تشکر

  8. سلام بسیار ممنونم تقریبا شما اولین سایتی هستید که راجع به این IC توضیح دادید.من چند وقت دنبال این هستم که بتوانم اطلاعات رو فلش مموری ذخیره کنم ولی چیزی پیدا نکردم اگر می شود راجع به این موضوع کار کنید چون کاربردی هست.

پاسخ دهید