اطلاعیه

Collapse
No announcement yet.

خواندن 10 بیت

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

    خواندن 10 بیت

    سلام.
    من با آی سی tsl2301 کار می کنم .خروجی این آی سی 10 بیت است که بیت اول MSB همیشه 1 و بیت آخر LSB همیشه 0 است .
    8بیت دیگر میزان نور محیط را نشان می دهند.من می خوام این 8 یا 10 بیت را روی LCD بازبان بیسکام نشان بدهم ,از چه راهی باید استفاده کنم؟
    فاصله ی بین هر بیت خیلی کمه در حد 200us .
    :angry:

    #2
    پاسخ : خواندن 10 بیت

    اگه صفحه 6 دیتاشیت رو نگاه کنی متوجه میشی که اویل کاری که باید بکنی اینه که با میکر یه کلاک درست کنی بدی به پین SCLK سنسورت بعد از طریق پین SDIN اطلاعات مورد نظر رو درخاست میکنی بهد از پین SDOUT اطلاعات رو میگیری ( اینجا تازه اون ده بیتی هست که میخاهی تحلیل کنی ) .
    A-Hosseini

    دیدگاه


      #3
      پاسخ : خواندن 10 بیت

      سلام
      فکر میکنم بشه از USART میکرو استفاده کرد البته تو حالت سنکرون
      یعنی Sdin-->txd و Sdout-->rxd و Sclk-->xck وصل بشه
      تو این حالت USART سخت افزاری میکرو با فرستادن کلاک دیتا رو از چیپ Slave میگیره یا به اون دیتا میده.
      ضمنا 200us هم که شما نوشتی عملا مشکل ساز نیست چون این میکرو هستش که به آی سی شما کلاک میده
      نه برعکس
      منظورم اینه که با هر پالس لبه پایینی که میکرو ارسال میکنه یه بیت send یا recive میکنه

      دیدگاه


        #4
        پاسخ : خواندن 10 بیت

        نوشته اصلی توسط majid sh
        سلام
        فکر میکنم بشه از USART میکرو استفاده کرد البته تو حالت سنکرون
        یعنی Sdin-->txd و Sdout-->rxd و Sclk-->xck وصل بشه
        تو این حالت USART سخت افزاری میکرو با فرستادن کلاک دیتا رو از چیپ Slave میگیره یا به اون دیتا میده.
        ضمنا 200us هم که شما نوشتی عملا مشکل ساز نیست چون این میکرو هستش که به آی سی شما کلاک میده
        نه برعکس
        منظورم اینه که با هر پالس لبه پایینی که میکرو ارسال میکنه یه بیت send یا recive میکنه
        نرم افزار Bascom قابلیت تنظیم نرم افزاری برای مد سنکرون USART نداره و باید مسقیما رجیستر ها رو مدار دهی کرد.من با بیسکام کار میکنم.در دیتاشیت هم نوشته از usart باید استفاده بشه ولی من نمی تونم از این اتیاط استفاده کنم.

        دیدگاه


          #5
          پاسخ : خواندن 10 بیت

          نوشته اصلی توسط electronet_ir
          اگه صفحه 6 دیتاشیت رو نگاه کنی متوجه میشی که اویل کاری که باید بکنی اینه که با میکر یه کلاک درست کنی بدی به پین SCLK سنسورت بعد از طریق پین SDIN اطلاعات مورد نظر رو درخاست میکنی بهد از پین SDOUT اطلاعات رو میگیری ( اینجا تازه اون ده بیتی هست که میخاهی تحلیل کنی ) .
          یعنی اگر از میکرو کلاک درست کنم به آی سی بفرستم مسئله ی سنکرون بودن حل میش؟ پس از ارتباط uart می تونم استفاده کنم؟
          من در برنامه ام می خواستم از یک ارتباط سریال در مد سنکرون در بیسکام استفاده کنم که به دلیل ساختار آی سی نتونستم.

          دیدگاه


            #6
            پاسخ : خواندن 10 بیت

            در ارتباط شریال بصورت usart معمولا در مد سنکرون بیتهای ارسال و پایان فرستاده نمیشه چون ارتباط توسط SCK همزمان میشه. ارسال بیتهای استارت و استپ در مد آسنکرون انجام میشه که در این وضعیت دیگه کلاک SCK ارسال نمیشه.
            شما میتونی این ارتباط خاص رو خودت پیاده سازی کنی. اون 10 مگاهرتز هم ماگزیمم فرکانس کلاکت هست که زیاد مهم نیست.
            شما باید یک کلاک نرم افزاری درست کنی و اگه اشتباه نکنم(اونجور که تو دیتا شیت نوشته) در لبه صعودی کلاک دستوراتت رو ارسال کنی به این آی سی(بیت های داده دستور رو میذاری رو پورت و درست بعد از اون پورتی که داره کار کلاک رو انجام میده رو ست میکنی)
            و در لبه منفی داده ها رو بخونی.استارت و استپ بیت رو دور بریزی و بقیه رو داخل یه ثبات شیفت بدی تا داده ت کامل بشه.(پورت کلاک رو صفر میکنی و درست بعد از اون داده آی سی رو میخونی)

            دیدگاه


              #7
              پاسخ : خواندن 10 بیت

              نوشته اصلی توسط mojalan
              در ارتباط شریال بصورت usart معمولا در مد سنکرون بیتهای ارسال و پایان فرستاده نمیشه چون ارتباط توسط SCK همزمان میشه. ارسال بیتهای استارت و استپ در مد آسنکرون انجام میشه که در این وضعیت دیگه کلاک SCK ارسال نمیشه.
              شما میتونی این ارتباط خاص رو خودت پیاده سازی کنی. اون 10 مگاهرتز هم ماگزیمم فرکانس کلاکت هست که زیاد مهم نیست.
              شما باید یک کلاک نرم افزاری درست کنی و اگه اشتباه نکنم(اونجور که تو دیتا شیت نوشته) در لبه صعودی کلاک دستوراتت رو ارسال کنی به این آی سی(بیت های داده دستور رو میذاری رو پورت و درست بعد از اون پورتی که داره کار کلاک رو انجام میده رو ست میکنی)
              و در لبه منفی داده ها رو بخونی.استارت و استپ بیت رو دور بریزی و بقیه رو داخل یه ثبات شیفت بدی تا داده ت کامل بشه.(پورت کلاک رو صفر میکنی و درست بعد از اون داده آی سی رو میخونی)
              منظورتون از کلاک نرم افزاری همون set و reset کردن پورت است؟
              چرا پورت کلاک را صفر و یک کنم؟در دیتاشیت چیزی نوشته نشده تنها برای کامل شدن ریست نوشته شده SDIN به اندازه ی 30 کلاک باید یک باشد.
              چطور می تونم دادهی آی سی را بخونم؟من می خوام 8 بیت خروجی رو روی LCD نمایش بدم.

              دیدگاه


                #8
                پاسخ : خواندن 10 بیت

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

                دیدگاه

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