اطلاعیه

Collapse
No announcement yet.

بورد ساده برای کار با FT245 و استفاده از libftdi

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

    بورد ساده برای کار با FT245 و استفاده از libftdi

    با سلام
    من بعد از چند ماه تنبلی دیروز برد FT245 را درست کردم و یه کد ساده هم در کامپیوتر نوشتم که با آن صحبت کند. انصافا فکر نمیآ‌کردن نرمآ‌افزار و کار با این چیپ این قدر ساده باشد. بورد یک لایه است و به گونهآ‌ای است که میآ‌توان آن را در بردبورد قرار داد. روی بورد رگولاتور ۳.۳ ولتی نیز قرار دارد که IOها تراشه را ۳.۳ ولتی میآ‌کند به همین دلیل میآ‌توانی به راحتی این IOها را به تراشهآ‌هایی که 5V-tolerant نیستند متصل کرد.


    کل داستان به این صورت هست که، چیپ FT245 و FT232 میآ‌توانند در یک مد خیلی جالب به نام bitbang کار کنند. در این مد ۸ بیت IO بر روی تراشه قرار دارد که میآ‌توان مانند پورتآ‌های میکرو در آن نوشت و یا وضعیت آن را خواند.
    برای قسمت نرمآ‌افزار FTDI درایوری به نام D2XX معرفی میآ‌کند. در لینوکس کتابخانهآ‌ای به نام libftdi وجود دارد که فکر کنم پیادهآ‌سازی همین درایور باشد. دوستان عزیز باید بستهآ‌ی libftdi-dev را نصب کنند تا بتوانند برنامه برای صحبت با چیپآ‌ را کامپایل کنند. این بسته تعدادی فایل نمونه هم دارد که برای شروع کار بسیار مناسب است. من برای آزمایش مدارم دقیقا یکی از همین مثالآ‌ها را کمی تغییر دادم و به راحتی استفاده کردم.
    به عنوان نمونه ۸ عدد دیود نورانی به IOها به همراه مقاومت متصل کردم و در کامپیوتر برنامهآ‌ای نوشتم که یک بیت را در خورجی شیفت میآ‌دهد.

    کد این برنامه ساده:

    کد PHP:
    #include <stdio.h>
    #include <unistd.h>
    #include <ftdi.h>
    int main(int argcchar **argv)
    {
        
    struct ftdi_context ftdic;
        
    int f,i;
        
    unsigned char buf[1];
        
    char c;

        
    ftdi_init(&ftdic);
        
    ftdi_usb_open(&ftdic0x04030x6001);
        if(
    &lt&&amp!= -5) {
            
    fprintf(stderr, "unable to open ftdi device: %(%s)\n", fftdi_get_error_string(&ftdic));
            exit(-
    1);
        }
        
    printf("ftdi open succeeded: %d\n",f);
        
    printf("enabling bitbang mode\n");
        
    ftdi_enable_bitbang(&ftdic0xFF);
        
    sleep(1);
        
    buf[0]=0x01;
        do {
            
    buf[0] = (buf[0]==0x80)?0x01:buf[0]<<1;
            
    ftdi_write_data(&ftdicbuf1);
            if(
    &lt0) {
                
    fprintf(stderr,"write failed for 0x%xerror %(%s)\n",buf[0],fftdi_get_error_string(&ftdic));
            }
            
    printf("%02hhx \n",buf[0]);
            
    fflush(stdout);
            
    usleep(500000);
            
    //c=getchar();
         
    } while (!= ' ');
        
    printf("disabling bitbang mode\n");
        
    ftdi_disable_bitbang(&ftdic);
        
    ftdi_usb_close(&ftdic);
        
    ftdi_deinit(&ftdic);



    برای کامپایل کردن و اجرا کردن این فایل به راحتی در شل لینوکس به این شکل عمل کنید:
    gcc -l ftdi -o ledshift ledshift.c
    ./ledshift



    * توضیحاتی هم در وبلاگم درباره این بورد نوشتم: http://abd.manidea.com/blog/archives/378
    * یه فایل فشرده attach کردم که شامل فایلآ‌های شماتیک و بورد و برنامه ساده آزمایش بورد هست. شماتیک و بورد با برنامهآ‌های gschem و PCB طراحی شده است.

    امیدوارم مفید باشد
    فایل های پیوست شده
    من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

    #2
    پاسخ : بورد ساده برای کار با FT245 و استفاده از libftdi

    سلام دوست عزیز

    برای نوشتن اطلاعات روی کول دیسک (همون فلش مموری ) با میکرو ،آی سی وجود داره؟ :question:

    دیدگاه


      #3
      پاسخ : بورد ساده برای کار با FT245 و استفاده از libftdi

      نوشته اصلی توسط arvinfx
      سلام دوست عزیز

      برای نوشتن اطلاعات روی کول دیسک (همون فلش مموری ) با میکرو ،آی سی وجود داره؟ :question:
      با سلام
      دوست عزیز برای این کار نیاز به کنترلر HOST هست که من چیز خاصی که در ایران باشد را نمیآ‌شناسم البته شاید دوستان دیگر اطلاعات کاملتری درباره بازار داشته باشند. البته علاوه بر این قضیه، باید درایورآ‌های نرمآ‌افزاری برای پیادهآ‌سازی mass-storage و file-system نیز فراهم شود. البته ممکن است چیپی وجود داشته باشد که تا حدودی این امکانات را به صورت سختآ‌افزاری پیاده کرده باشد.

      گزینهآ‌ دیگر برای این کار استفاده از پروسسورآ‌هایی است که USB-Host دارند. به عنوان مثال تراشه AT91SAM9260
      من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

      دیدگاه


        #4
        پاسخ : بورد ساده برای کار با FT245 و استفاده از libftdi

        نوشته اصلی توسط manian

        با سلام
        دوست عزیز برای این کار نیاز به کنترلر HOST هست که من چیز خاصی که در ایران باشد را نمیآ‌شناسم البته شاید دوستان دیگر اطلاعات کاملتری درباره بازار داشته باشند. البته علاوه بر این قضیه، باید درایورآ‌های نرمآ‌افزاری برای پیادهآ‌سازی mass-storage و file-system نیز فراهم شود. البته ممکن است چیپی وجود داشته باشد که تا حدودی این امکانات را به صورت سختآ‌افزاری پیاده کرده باشد.

        گزینهآ‌ دیگر برای این کار استفاده از پروسسورآ‌هایی است که USB-Host دارند. به عنوان مثال تراشه AT91SAM9260
        بس برای ذخیره کردن اطلاعات بهتره برم سراغ واسایل ساده تر!

        دیدگاه


          #5
          پاسخ : بورد ساده برای کار با FT245 و استفاده از libftdi

          نوشته اصلی توسط arvinfx

          با سلام
          دوست عزیز برای این کار نیاز به کنترلر HOST هست که من چیز خاصی که در ایران باشد را نمیآ‌شناسم البته شاید دوستان دیگر اطلاعات کاملتری درباره بازار داشته باشند. البته علاوه بر این قضیه، باید درایورآ‌های نرمآ‌افزاری برای پیادهآ‌سازی mass-storage و file-system نیز فراهم شود. البته ممکن است چیپی وجود داشته باشد که تا حدودی این امکانات را به صورت سختآ‌افزاری پیاده کرده باشد.

          گزینهآ‌ دیگر برای این کار استفاده از پروسسورآ‌هایی است که USB-Host دارند. به عنوان مثال تراشه AT91SAM9260
          بس برای ذخیره کردن اطلاعات بهتره برم سراغ واسایل ساده تر!
          [/quote]
          با سلام
          دوست عزیز بهترین گزینه به نظرم کارت SD مموری است که هم ظرفیتآ‌ بالایی داره و هم قیمت مناسب. کار هم باهاش ساده است.
          من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

          دیدگاه


            #6
            پاسخ : بورد ساده برای کار با FT245 و استفاده از libftdi

            نوشته اصلی توسط manian

            با سلام
            دوست عزیز برای این کار نیاز به کنترلر HOST هست که من چیز خاصی که در ایران باشد را نمیآ‌شناسم البته شاید دوستان دیگر اطلاعات کاملتری درباره بازار داشته باشند. البته علاوه بر این قضیه، باید درایورآ‌های نرمآ‌افزاری برای پیادهآ‌سازی mass-storage و file-system نیز فراهم شود. البته ممکن است چیپی وجود داشته باشد که تا حدودی این امکانات را به صورت سختآ‌افزاری پیاده کرده باشد.

            گزینهآ‌ دیگر برای این کار استفاده از پروسسورآ‌هایی است که USB-Host دارند. به عنوان مثال تراشه AT91SAM9260
            بس برای ذخیره کردن اطلاعات بهتره برم سراغ واسایل ساده تر!
            [/quote]
            با سلام
            دوست عزیز بهترین گزینه به نظرم کارت SD مموری است که هم ظرفیتآ‌ بالایی داره و هم قیمت مناسب. کار هم باهاش ساده است.
            [/quote]

            آره خیلیا گفتن از SD بهره بگیر چرا؟ پروتوکولش راحته؟ SPI یا I2C ...

            دیدگاه


              #7
              پاسخ : بورد ساده برای کار با FT245 و استفاده از libftdi

              نوشته اصلی توسط arvinfx

              با سلام
              دوست عزیز برای این کار نیاز به کنترلر HOST هست که من چیز خاصی که در ایران باشد را نمیآ‌شناسم البته شاید دوستان دیگر اطلاعات کاملتری درباره بازار داشته باشند. البته علاوه بر این قضیه، باید درایورآ‌های نرمآ‌افزاری برای پیادهآ‌سازی mass-storage و file-system نیز فراهم شود. البته ممکن است چیپی وجود داشته باشد که تا حدودی این امکانات را به صورت سختآ‌افزاری پیاده کرده باشد.

              گزینهآ‌ دیگر برای این کار استفاده از پروسسورآ‌هایی است که USB-Host دارند. به عنوان مثال تراشه AT91SAM9260
              بس برای ذخیره کردن اطلاعات بهتره برم سراغ واسایل ساده تر!
              [/quote]
              با سلام
              دوست عزیز بهترین گزینه به نظرم کارت SD مموری است که هم ظرفیتآ‌ بالایی داره و هم قیمت مناسب. کار هم باهاش ساده است.
              [/quote]

              آره خیلیا گفتن از SD بهره بگیر چرا؟ پروتوکولش راحته؟ SPI یا I2C ...
              [/quote]
              با سلام
              پروتکل SPI هست (البته برای سرعتآ‌های بالاتر فکر کنم یه مد ۴ بیتی هم داشته باشه)، پروژهآ‌های فراوانیآ‌ هم در اینترنت برای کار با SD پیدا میآ‌شود.
              من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

              دیدگاه


                #8
                پاسخ : بورد ساده برای کار با FT245 و استفاده از libftdi

                سلام
                ببخشید فایل های که ضمیمه کردید مشکل داره اگه میشه pcb رو برام ایمیل کنید با تشکر

                دیدگاه


                  #9
                  پاسخ : بورد ساده برای کار با FT245 و استفاده از libftdi

                  سلام
                  یک سوال دارم:
                  من هرچه سعی کردم نتونستم این ای سی رو توی لینوکس نصب کنم(ابونتو)
                  درایور اون رو هم گرفتم اما فایده نداشت
                  اگر ممکنه کمک کنید
                  ممنون

                  دیدگاه


                    #10
                    پاسخ : بورد ساده برای کار با FT245 و استفاده از libftdi

                    نوشته اصلی توسط AFSHARAN
                    سلام
                    ببخشید فایل های که ضمیمه کردید مشکل داره اگه میشه pcb رو برام ایمیل کنید با تشکر

                    دیدگاه


                      #11
                      پاسخ : بورد ساده برای کار با FT245 و استفاده از libftdi

                      نوشته اصلی توسط AFSHARAN
                      سلام
                      ببخشید فایل های که ضمیمه کردید مشکل داره اگه میشه pcb رو برام ایمیل کنید با تشکر
                      فایلها مشکلی ندارن ، فکر آ‌میآ‌کنم شما با فرمت bz2 مشکلی داشته باشید.
                      فایلها رو با فرمت zip براتون الحاق کردم.
                      PCB با gEDA/PCB کشیده شده.
                      فایل های پیوست شده
                      چگونه هوشمندانه بپرسیم

                      دیدگاه


                        #12
                        پاسخ : بورد ساده برای کار با FT245 و استفاده از libftdi

                        سلام
                        ببخشید من با پروتل99 کار میکنم میشه فایل رو تبدیل کنید با تشکر

                        دیدگاه

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