اطلاعیه

Collapse
No announcement yet.

راه اندازی USB Flash Drive به وسیله PIC ؟؟!

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    راه اندازی USB Flash Drive به وسیله PIC ؟؟!

    باسلام خدمت همه دوستان

    من قصد دارم به وسیله یک میکرو PIC مستقیما و بدون استفاده از هیچ سخت افزار جانبی یک کول دیسک رو راه اندازی کنم

    من با کامپایلرهای MPLAB کار میکنم و به تازگی از کتاب خانه MDD استفاده کرده و یک حافظه SD رو راه اندازی کردم

    در این کتاب خانه من گزینه های فعال سازی اینترفیس های USB رو دیدم اما اطلاعات کمی در این رابطه دارم

    من چند PDF در این رابطه پیدا کردم که اونارو اینجا قرار میدم تا اگه کسی قصد همکاری داشت سرنخ گیرش بیاد :nice:

    Using a USB Flash Drive with an Embedded Host

    http://fadak-srt.persiangig.com/document/host_usb/01145b.pdf



    USB Embedded Host Stack Programmer’s Guide

    http://fadak-srt.persiangig.com/document/host_usb/01142A.pdf



    USB Mass Storage Class on an Embedded Host

    http://fadak-srt.persiangig.com/document/host_usb/01142A.pdf



    USB Embedded Host Stack

    http://fadak-srt.persiangig.com/document/host_usb/USB_Host_Stack_01140a.pdf




    فقط اگه کسی قصد همکاری داره اطلاعات رو مثل من خیلی خیلی خیلی سکرت بزاره تا کسی متوجه نشه داریم چیکار میکنیم :mrgreen:



    سوآل اول : کدام سری از میکرو ها توانایی انجام این کار رو دارن ؟


    نا اميدي يه دروغ بزرگه که آدما به خودشون ميگن
    تلاش يه حقيقت بزرگه که با صبر به ثمر ميرسه

    #2
    پاسخ : راه اندازی USB Flash Drive به وسیله PIC ؟؟!

    سلام
    در پروتکل USB دستگاه ها به دو دسته ی Host وPeripherals تقسیم میشن.Host تقش مدیر (Master)رو بازی میکنه و Peripherals (یا Slaves ) تابع Host هستند.طبیعتا پیاده سازی نقش Host نیاز به سخت افزار ها و نرم افزار های بیشتری نسبت به Peripherals داره . اکثر وسایلی که اطراف ما هستند امکانات Peripheral رو دارا هستند مثل ماوس,کیبورد,پورتی که روی اکثر موبایل ها وجود داره و ... همچنین فلش مموری به صورت Peripheral ارتباط برقرار میکنه. پس برای اتباط با فلش مموری نیاز به یک USB Host داریم.IC هایی مثل VNC1L محصول FTDI Chip وجود دارند که میتونند نقش USB Host رو برای این منظور پیاده سازی کنند اما اگر بخوایم با میکرو USB Host رو پیاده سازی کنیم نیاز به میکرویی داریم که امکانات سخت افزاری مورد نیاز USB Host رو داشته باشه .
    بین میکرو های میکروچیپ سری های dsPIC33,PIC24 , PIC32 این امکانات رو دارند که میشه بسته به نیاز و موجود بودن اونا توی بازار از بینشون انتخاب کرد.
    لیست میکرو های دارای پورت USB در سایت میکروچیپ موجود هست.
    https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2654
    برای اتباط با فلش مموری باید از میکروهایی که توی لیست با عنوان USB 2 / OTG هستند استفاده کرد.OTG که مخفف On The Go هست اشاره به این قابلیت داره که میکرو میتونه هم به صورت Hostو هم به صورت Peripheral راه اندازی بشه .از این قابلیت تو خیلی از وسایل جدید استفاده میشه.مثلا دوربین دیجیتالی رو فرض کنید که پورتش OTG باشه ،وقتی دوربین رو به PC وصل می کنید دارید از پورت در حالت Peripheral استفاده میکنید حالا اگه دوربین رو به پرینتر وصل کنید میتونید بدون دخالت PC عکس ها رو چاپ کنید(البته به شرطی که قابلیت نرم افزاری این کار فراهم شده باشه) در حالت دوم پورت روی دوربین داره به صورت Host عمل میکنه.

    توی این تاپیک هم اطلاعات مرتبطی وجود داره:
    http://www.eca.ir/forum2/index.php?topic=64035.0

    دیدگاه


      #3
      پاسخ : راه اندازی USB Flash Drive به وسیله PIC ؟؟!

      با سلام دوباره خدمت همه دوستان

      از اینکه دیر پاسخ میدم , عذر میخوام


      خب من تحقیقاتم رو در این رابطه ادامه میدم , راهنمایی دوست خوبمون جناب میلاد.م به من کمک کرد تا PIC مورد استفادم رو بهتر بتوانم پیدا کنم

      من با میکرو های 16 و 32 بیتی که دارای سخت افزار Host هستن آشناییت کمی داشتم که بعد از تحقیقات بیشتر در باره میکرو هایی که دارای سخت افزار OTG هستن تصمیم گرفتم که این پروژه را هم زمان با یک sdPIC و یک میکرو 32 بیت انجام بدم

      خب دوباره سریع میریم سر اصل مطلب , این موضوع کاملا واضحه که تابه حال افراد زیادی این کار رو انجام دادن و این راه رو رفتن , پس مسیر باید کاملا هموار باشه , فقط باید پیداش کنیم , یعنی من فکر میکنم این یک موضوع حل شدست , اونقدر که باید به صورت یک کتاب خانه در دسترس عموم قرار گرفته باشه

      من کتاب خانه Microchip Application Libraries را برای جستجوی انتخاب کردم

      اما با کلی پروژه آماده در باره USB مواجه شدم , اونقدر زیاد بودن که نمیدونستم کودوم مربوط به پروژه من میشه oo:

      اما من باید انجامش میدادم :angry:

      پس PDF های راهنما رو دوباره زیرو رو کردم , با کمال تعجب دیدم که کتاب خانه مربوطه برای PIC18 هم تنظیم میشه و میشه تو کلاس MSD با میکرو های هشت بیتی هم کار کرد , آخه این میکرو ها که Host ندارن , پس من دوباره این شکلی شدم =>

      به خصوص اینکه یک نرم افزار پیدا کردم که فایل توصیف گر رو برای من میساخت و وقتی دیدم داخل نرم افزار برای PIC18 در کلاس MSD گزینه وجود داره خیلی گیج شدم :-?

      :eek:

      خب حالا میشه اگه کسی کلا در باره USB هر اطلاعاتی که داره در اختیار ما قرار بده

      من در یاره کلاس های کاری مثل

      HID
      CDC
      MSD

      بیشتر میخام بدونم

      همچنین در باره فایلهای توصیفگر در USB کسی اطلاعاتی داره ؟ :question:

      [pre]
      :question: :question: :question: :question: :question:
      :question: :question:
      :question: :question:
      :question: :question:
      :question:
      :question: :question:
      [/pre]
      نا اميدي يه دروغ بزرگه که آدما به خودشون ميگن
      تلاش يه حقيقت بزرگه که با صبر به ثمر ميرسه

      دیدگاه


        #4
        پاسخ : راه اندازی USB Flash Drive به وسیله PIC ؟؟!

        سلام میشه بگین چطور با مموری ارتباط برقرار کردید و سورس رو بزارین؟؟؟؟؟؟؟؟؟؟؟؟؟// :biggrin:

        دیدگاه


          #5
          پاسخ : راه اندازی USB Flash Drive به وسیله PIC ؟؟!

          نوشته اصلی توسط saleh22
          سلام میشه بگین چطور با مموری ارتباط برقرار کردید و سورس رو بزارین؟؟؟؟؟؟؟؟؟؟؟؟؟// :biggrin:
          سلام

          پس از نصب کتاب خانه Microchip Application Libraries چند پروژه آماده برای این کار در این کتاب خانه وجود دارد , اما من به شما پیشنهاد میکنم برای مسلط شدن به این کتاب خانه ابتدا بر روی حافظه های SD/MMC کار کنید
          نا اميدي يه دروغ بزرگه که آدما به خودشون ميگن
          تلاش يه حقيقت بزرگه که با صبر به ثمر ميرسه

          دیدگاه


            #6
            پاسخ : راه اندازی USB Flash Drive به وسیله PIC ؟؟!

            ببخشید دوباره مزاحم شدم .نمونه کد هایی که توی Microchip Application Libraries هست فقط برا pic24و pic32 . درسته؟؟ oo: :sad:
            Below is an example on PIC24/PIC32/dsPIC devices which shows how to create files,search files & delete specific file

            دیدگاه


              #7
              پاسخ : راه اندازی USB Flash Drive به وسیله PIC ؟؟!

              نوشته اصلی توسط saleh22
              ببخشید دوباره مزاحم شدم .نمونه کد هایی که توی Microchip Application Libraries هست فقط برا pic24و pic32 . درسته؟؟ oo: :sad:
              Below is an example on PIC24/PIC32/dsPIC devices which shows how to create files,search files & delete specific file
              بله

              خب این به این خاطره که فقط برخی از میکرو های 16 و 32 بیتی دارای سخت افزار USB Host هستن و خب برای راه اندازی یک USB Mass Storage به این سخت افزار احتیاج هست .
              نا اميدي يه دروغ بزرگه که آدما به خودشون ميگن
              تلاش يه حقيقت بزرگه که با صبر به ثمر ميرسه

              دیدگاه


                #8
                پاسخ : راه اندازی USB Flash Drive به وسیله PIC ؟؟!

                نوشته اصلی توسط ramezani.t
                خب من تحقیقاتم رو در این رابطه ادامه میدم , راهنمایی دوست خوبمون جناب میلاد.م به من کمک کرد تا PIC مورد استفادم رو بهتر بتوانم پیدا کنم
                اما با کلی پروژه آماده در باره USB مواجه شدم , اونقدر زیاد بودن که نمیدونستم کودوم مربوط به پروژه من میشه oo:

                پس PDF های راهنما رو دوباره زیرو رو کردم , با کمال تعجب دیدم که کتاب خانه مربوطه برای PIC18 هم تنظیم میشه و میشه تو کلاس MSD با میکرو های هشت بیتی هم کار کرد , آخه این میکرو ها که Host ندارن , پس من دوباره این شکلی شدم =>

                خب حالا میشه اگه کسی کلا در باره USB هر اطلاعاتی که داره در اختیار ما قرار بده

                من در یاره کلاس های کاری مثل
                HID
                CDC
                MSD
                بیشتر میخام بدونم

                [pre]
                :question: :question: :question: :question: :question:
                :question: :question:
                :question: :question:
                :question: :question:
                :question:
                :question: :question:
                [/pre]
                سلام جناب رمضانی. می بینم که سر تا پا سوالی! ( در واقع بودی.)
                میدونم الان برای جواب دادن دیره ولی خب ... شاید به درد کس دیگه ای خورد.

                همونطور که دوستان گفتند برای راه انداختن فلش دیسک باید از میکروکنترلری استفاده کنید که Host/OTG داشته باشه.
                این اپلیکیشن نوت برای این کاره: AN1145 - Using a USB Flash Drive with an Embedded Host
                http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824& appnote=en534219

                اون مثالهایی که برای PIC18 دیدید مربوط میشه به شبیه سازی فلش دیسک توسط میکرو برای کامپیوتر. یعنی برعکس چیزی که شما میخاید.
                اون مثالهای کلاسهای USB هم مربوط میشه به میکروهایی که ماژول USB از نوع Device دارن.
                اینجوریه که HID برای موس و کیبرد و گیم پد و از اینجور چیزاست. بدون نیاز به درایور سمت کامپیوتر.
                البته میتونید شما از درایور اختصاصی HID میکروچیپ استفاده کنید برای تبادل اطلاعات بین میکرو و کامپیوتر.
                کلاس CDC هم مربوط میشه به درگاههای ارتباطی، و صوتی. در واقع mass storage جزو همین کلاس محسوب میشه.
                اصلی ترین استفاده CDC برای ما میشه پورت سریال مجازی.


                دیدگاه


                  #9
                  پاسخ : راه اندازی USB Flash Drive به وسیله PIC ؟؟!

                  سلام
                  ببخشید الان یعنی میکروی 18f4550 که پایه های usb رو داره فقط میتونه اطلاعات رو به فلش منتقل کنه و دیگه نمیتونه بخونه؟برای مموری sd هم همینطوره؟

                  دیدگاه

                  لطفا صبر کنید...
                  X